1 问题描述
linux
配置指定用户不需要密码切换root
,原始默认输入密码形式如下:
2 尝试过的方法
现有方法:
- 普通用户身份下执行:
sudo visudo
- root用户身份下执行:
vi /etc/sudoers
以上两种指令效果等同,随后添加下面内容到上述文件中(xxx代表用户名):
xxx ALL=(ALL) NOPASSWD: ALL
或
xxx ALL=(ALL) NOPASSWD: /bin/su
然而执行完上述命令,执行su root
还是需要输入密码
3 解决方法
注:要实现普通用户切换到root不需要密码,前提是已有root的密码和权限
- 修改PAM配置文件
# 首先切换到root身份
su root
# 修改PAM配置文件
vi /etc/pam.d/su
在PAM
配置文件中找到下面语句并取消注释:
auth sufficient pam_wheel.so trust
- 将当前用户
xxx
添加到wheel
用户组
步骤1:查看是否存在wheel
用户组:
cut -d: -f1 /etc/group | grep wheel
步骤2:如果有输出wheel
,则跳过步骤2,否则root
身份下执行下面语句创建wheel
用户组:
groupadd wheel
步骤3:查看当前普通用户xxx
是否属于wheel
用户组,属于则跳过该步骤
groups xxx
下面输出表示当前用户cs_tcci_liqing
属于cs_tcci_liqing
、sudo
、wheel
用户组,如果没有输出wheel
表示则表示当前用户不属于wheel
用户组
步骤4:如果当前普通用户xxx
不属于wheel
用户组,则在root
身份下执行下面语句将xxx
添加到wheel
用户组,已经属于wheel
用户组则跳过该步骤:
usermod -aG wheel cs_tcci_liqing
4 验证结果
不需要输入密码则可以直接转为root
: