su 命令鉴定故障,这是很久之前遇到的问题,今天终于解决了

当用普通用户登录后使用 su 命令时可能会报 su:鉴定故障。

网上给出的思路是root用户可能并未设置密码,所以使用sudo passwd root 命令修改 root 的密码然后使用新密码登录

但是我是设置了root的密码的,当我输入 sudo passwd root 后会报 "当前用户未在sudoer名单中" 的错误。

最终,我的解决方案是重启虚拟机,然后使用root用户登录。然后 passwd root  修改root的密码,此时换回普通用户在使用 su 命令就正常了

解决方案二:使普通用户具有root权限

1.su root   #切换到root用户

2.chmod 777 /etc/sudoers    #将sudoers改为可写入状态

3.vim /etc/sudoers  #在root	ALL=(ALL) 	ALL下面添加一条fuqin    ALL=(ALL)       NOPASSWD:ALL,保存修改并退出

4.chmod 440 /etc/sudoers    #将文件的权限改回来

5.此时fuqin用户已经可以使用sudo命令了



补充:/etc/sudoers文件简述


Linux默认是没有将用户添加到sudoers列表中的,需要root手动将账户添加到sudoers列表中,才能让普通账户执行sudo命令。

root账户键入visudo即可进入sudo配置,这个命令要比vim /etc/sudoers要好很多,因为使用visudo进行sudo配置,将会得到很多提示

工作过程具体是: 当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限,当确认该用户拥有t可执行sudo的权限后,于是让让用户输入用户自己的密码确认。 当若密码输入成功,则开始执行sudo后续的命令
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐