sudo执行命令,xx is not in the sudoers file. This incident will be reported.解决

系统管理员 2022-05-17 11:54 382阅读 0赞

使用sudo执行root权限才能执行的命令时,输入密码后执行被终止,命令行提示:

  1. xx is not in the sudoers file. This incident will be reported.

即:xx不在 sudoers 文件中。此事将被报告。

这个提示是因为该用户没有执行sudo的权限,因为该用户的权限信息不在sudoers配置文件中。

解决方法:

①切换root用户

  1. su root

②修改sudoers文件。/etc文件夹通常是保存linux各种配置文件的地方,sudoers文件也在此文件夹下。

 可以使用一些常用的编辑器如vi或者vim等来编辑这个文件,但是由于到这个配置文件的重要性,linux有一个专门用于编辑这个文件的命令visudo,在编辑后保存退出时会自动检查语法设置,以免配置错误二导致无法使用sudo命令。

  1. root@lushg:~# visudo

70

找到root ALL=(ALL:ALL) ALL一行,在下面加上一行username ALL=(ALL:ALL) NOPASSWD:ALL。(有的版本括弧中仅有一个ALL,照写一个即可)

  1. root ALL=(ALL:ALL) ALL
  2. test ALL=(ALL:ALL) NOPASSWD:ALL

新加入的这一行中有4个ALL,表示用户test可以从任何地方(第一个ALL)登录后执行任何用户组的任何用户(第二个ALL-任何用户,第三个ALL-任何用户组)的任何指令(第四个ALL),NOPASSWD表示该用户执行sudo时可以不需要重复输入密码。

修改完成后,使用刚才设置的用户登录,就可以使用sudo命令了。

以上设置针对的是test这个用户,还有一些更强的权限设置功能,比如定义某一组的root权限、定义可以执行的命令表等:

  1. # 设置test用户组的所有用户权限
  2. test ALL=(ALL:ALL) NOPASSWD:ALL
  3. #设置test用户可以sudo执行的命令列表,比如关闭或者重启服务器
  4. test ALL=(ALL:ALL) NOPASSWD:/sbin/shutdown,/usr/bin/reboot

发表评论

表情:
评论列表 (有 0 条评论,382人围观)

还没有评论,来说两句吧...

相关阅读