我想向我的测试用户授予 root 权限(或 root 帐户),而不是在 CentOS 7 上使用 wheel-group 或 sudoers。相反,我想使用模块 pam_cap.so 和 linux 功能。
我试试这个:
在 /etc/security/su 中添加模块 pam_cap.so:
# %PAM-1.0 auth optional pam_cap.so auth sufficient pam_rootok.so ....
创建文件 /etc/security/capability.conf 并为用户添加允许的功能:
cap_sys_admin,cap_dac_override myuser * none
然后我运行以下
su
命令:$ su - myuser
我可以使用以下方法验证该用户的能力:
$ capsh --print
据我了解,对于 root 的权限,还需要为 /bin 中的程序设置功能位。例如,如果 myuser 将删除 root 为所有者的文件,我可以在 /bin/rm 上设置上限位:
sudo setcap 'CAP_DAC_OVERRIDE+ei' /bin/rm
但在这种情况下,有必要为 /bin 中的所有程序设置不同类型的功能。而且这不是一个好办法。
是否可以一步将 root 权限授予用户,设置一些所需的功能?例如,它可能只在用户的外壳上设置上限位?