使用 PAM 和 Linux 功能向受限用户授予 root 权限

使用 PAM 和 Linux 功能向受限用户授予 root 权限

我想向我的测试用户授予 root 权限(或 root 帐户),而不是在 CentOS 7 上使用 wheel-group 或 sudoers。相反,我想使用模块 pam_cap.so 和 linux 功能。

我试试这个:

  1. 在 /etc/security/su 中添加模块 pam_cap.so:

    # %PAM-1.0     
    auth        optional    pam_cap.so
    auth        sufficient  pam_rootok.so
    ....
    
  2. 创建文件 /etc/security/capability.conf 并为用户添加允许的功能:

    cap_sys_admin,cap_dac_override myuser
    * none
    
  3. 然后我运行以下su命令:

    $ su - myuser
    

    我可以使用以下方法验证该用户的能力:

    $ capsh --print
    

据我了解,对于 root 的权限,还需要为 /bin 中的程序设置功能位。例如,如果 myuser 将删除 root 为所有者的文件,我可以在 /bin/rm 上设置上限位:

sudo setcap 'CAP_DAC_OVERRIDE+ei' /bin/rm

但在这种情况下,有必要为 /bin 中的所有程序设置不同类型的功能。而且这不是一个好办法。

是否可以一步将 root 权限授予用户,设置一些所需的功能?例如,它可能只在用户的外壳上设置上限位?

相关内容