业务需求:使用su
命令将账号user01免密码切换到user02,不添加其他特权
通过配置/etc/pam.d/su
,能够实现不加入wheel
用户组,不使用sudo
命令从user01免密码切换到user02
在/etc/pam.d/su
配置文件中pam_rootok.so
行后添加如下配置:
auth [success=ignore default=1] pam_succeed_if.so user = user02 auth sufficient pam_succeed_if.so use_uid user = user01
该配置使用了 pam_succeed_if.so
模块,更多相关信息参阅 Linux-PAM configuration file syntax
1、第一行检查目标用户是否是user02,如果是则无操作继续下一行检查当前用户(success=ignore
);如果不是,则下一行被跳过,当前两行配置执行结束(default=1
),继续执行其他配置行。
2、第二行检查当前用户是否是user01,如果是,则认证成功,并返回(sufficient
);如果不是,则当前两行配置执行结束,继续执行其他配置行。
1、限制su
到一个组,组内允许的账户不需要密码即可切换:
auth sufficient pam_succeed_if.so use_uid user ingroup allowedpeople
2、使用sudo
免密切换到其他普通用途:
在配置文件/etc/sudoers.d/custom
中添加如下配置:
user01 ALL=(user02:user02) NOPASSWD:ALL
当user01
使用sudo su - user02
可以不受密码限制进行切换。
参考链接:https://unix.stackexchange.com/questions/113754/allow-user1-to-su-user2-without-password