本文主要是介绍sudo执行命令,xx is not in the sudoers file. This incident will be reported.解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用sudo执行root权限才能执行的命令时,输入密码后执行被终止,命令行提示:
xx is not in the sudoers file. This incident will be reported.
即:xx不在 sudoers 文件中。此事将被报告。
这个提示是因为该用户没有执行sudo的权限,因为该用户的权限信息不在sudoers配置文件中。
解决方法:
①切换root用户
su root
②修改sudoers文件。/etc文件夹通常是保存linux各种配置文件的地方,sudoers文件也在此文件夹下。
可以使用一些常用的编辑器如vi或者vim等来编辑这个文件,但是由于到这个配置文件的重要性,linux有一个专门用于编辑这个文件的命令visudo,在编辑后保存退出时会自动检查语法设置,以免配置错误二导致无法使用sudo命令。
root@lushg:~# visudo
找到root ALL=(ALL:ALL) ALL一行,在下面加上一行username ALL=(ALL:ALL) NOPASSWD:ALL。(有的版本括弧中仅有一个ALL,照写一个即可)
root ALL=(ALL:ALL) ALL
test ALL=(ALL:ALL) NOPASSWD:ALL
新加入的这一行中有4个ALL,表示用户test可以从任何地方(第一个ALL)登录后执行任何用户组的任何用户(第二个ALL-任何用户,第三个ALL-任何用户组)的任何指令(第四个ALL),NOPASSWD表示该用户执行sudo时可以不需要重复输入密码。
修改完成后,使用刚才设置的用户登录,就可以使用sudo命令了。
以上设置针对的是test这个用户,还有一些更强的权限设置功能,比如定义某一组的root权限、定义可以执行的命令表等:
# 设置test用户组的所有用户权限
%test ALL=(ALL:ALL) NOPASSWD:ALL#设置test用户可以sudo执行的命令列表,比如关闭或者重启服务器
test ALL=(ALL:ALL) NOPASSWD:/sbin/shutdown,/usr/bin/reboot
这篇关于sudo执行命令,xx is not in the sudoers file. This incident will be reported.解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!