启用 fips 后 sudo 停止工作

启用 fips 后 sudo 停止工作

在 rhel6 系统上,我使用本指南启用了 fips:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sect-Security_Guide-Federal_Standards_And_Regulations-Federal_Information_Processing_Standard.html

重新启动系统后,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 登录,Web 服务器也在运行。

限制似乎很好:

ulimit -u
31353

cat /etc/security/limits.d/90-nproc.conf

*          soft    nproc     1024
root       soft    nproc     unlimited

答案1

问题在于,使用了 pam 模块来缓存密码,允许某人在远程活动目录服务器无法访问的情况下登录。rhel6 及更高版本上不再存在此模块。但是,从自定义包或较旧的 rhel5 包安装时仍可使用。

该软件包是 pam_ccreds,在/etc/pam.d/系统身份验证包含字符串pam_ccreds.so被替换为字符串pam_krb5.sosudo 又开始工作了。

相关内容