В системе rhel6 я включил fips с помощью этого руководства:
После перезагрузки системы записи sudo больше не работают.
Запись в sudoers:
example ALL=(ALL) ALL
Пример запуска команды с использованием sudo:
sudo ls -l /root
[sudo] password for example:
/var/cache/.security.db: unable to flush: Permission denied
sudo: PERM_ROOT: setresuid(0, -1, -1): Operation not permitted
sudo: unable to open /var/db/sudo/example/2: Operation not permitted
sudo: unable to send audit message: Operation not permitted
sudo: unable to set supplementary group IDs: Operation not permitted
sudo: unable to execute /bin/ls: Operation not permitted
Еще одна ошибка, когда сценарий запускается с использованием sudo, используя эту запись в sudoers:
example ALL=/usr/local/bin/example_script.sh
Результат:
sudo /usr/local/bin/example_script.sh
[sudo] password for example:
sudo: PERM_ROOT: setresuid(0, -1, -1): Operation not permitted
sudo: unable to open /var/db/sudo/example/1: Operation not permitted
sudo: unable to send audit message: Operation not permitted
sudo: unable to set supplementary group IDs: Operation not permitted
sudo: unable to execute /usr/local/bin/example_script.sh: Operation not
Возможные релевантные записи журнала:
examplehost sudo: pam_krb5[30799]: authentication succeeds for 'example' (example@exampledomain)
examplehost sudo: example : unable to open /var/db/sudo/example/2 : Permission denied ; TTY=pts/2 ; PWD=/home/example ; USER=root ; COMMAND=/bin/ls -l /root
examplehost example : TTY=pts/2 ; PWD=/home/example ; USER=root ; COMMAND=/bin/ls -l /root
examplehost sudo: pam_keyinit(sudo:session): Unable to change GID to 0 temporarily examplehost su: pam_unix(su-l:session): session closed for user example
examplehost su: pam_unix(su-l:session): session closed for user example
Обратите внимание, что система использует аутентификацию в активном каталоге.
Я попытался переместить / var / db / sudo и /var/cache/.security.db в сторону, но безрезультатно.
Изменяются как существующие записи в sudoers, так и вновь созданные. Я осмотрелся, но пока не нашел решения. В остальном система работает нормально, она принимает вход по ssh, веб-сервер тоже работает.
Пределы кажутся хорошими:
ulimit -u
31353
cat /etc/security/limits.d/90-nproc.conf
* soft nproc 1024
root soft nproc unlimited
Проблема заключалась в том, что использовался модуль pam, который заботится о кэшировании паролей, позволяя кому-то войти в систему в случае, если удаленные серверы Active Directory недоступны. Этот модуль больше не присутствует в rhel6 и выше. Однако его по-прежнему можно использовать при установке из пользовательского пакета или более старого пакета rhel5.
Это пакет pam_ccreds, а после строк в /etc/pam.d/system-auth содержащий строку pam_ccreds.so были заменены строкой pam_krb5.so sudo снова начал работать.