# 2021-01-13 #「su」- substitute user
在切换用户时无需输入密码
Allow user1 to “su - user2” without password
问题描述
当前为 k4nz 用户,当切换到 root 用户时,我们希望无需输入密码。
解决办法
由于 su 支持 PAM 认证,因此我们可以通过调整 /etc/pam.d/su 来实现“当用户 k4nz 切换到 root 用户时无需输入密码”,用 PAM 的话来说(配置文件)就是:
auth [success=ignore default=1] pam_succeed_if.so use_uid user = k4nz auth sufficient pam_succeed_if.so user = root
也可以使用如下配置行(两者是等价的,但不知晓是否存在安全隐患)
auth [success=ignore default=1] pam_succeed_if.so user = root auth sufficient pam_succeed_if.so user = k4nz
注意配置文件要家到 /etc/pam.d/su 的开始部分,因为配置行是以栈的形式存在(这是我们的理解)
附加说明
要理解配置行的含义,需要理解 PAM 配置文件。