Linux用户不在sudoers文件中

*** is not in the sudoers file.  This incident will be reported.” 
(用户不在sudoers文件中……)

处理这个问题很简单,但应该先理解其原理再操作。首先要明白root的密码一般用户是不应该知道的,但一般用户有时可能要用到root的一些权限。
这里就有了一个 /etc/sudoers 文件,用来保存一些用户,使这些用户可以通过sudo命令来暂时获取root的权限。这些用户使用sudo时输入的密码是当前用户密码,而不是root密码。还可以在sudoers文件里限制一般用户的权限,这样就有了安全保证。
我在网上搜这个问题,大家都是这样解决的:
现在要让你的用户获得sudo使用权
1.切换到超级用户root
   $su -
2.查看/etc/sudoers权限,可以看到当前权限为440
   $ ls -all /etc/sudoers
   -r--r----- 1 root root 744  6月  8 10:29 /etc/sudoers
3.更改权限为777
   $chmod 777 /etc/sudoers
4.编辑/etc/sudoers
   $vi /etc/sudoers
5.在文件中找到root  ALL=(ALL) ALL,在该行下添加提升权限的用户信息,如:
root    ALL=(ALL)       ALL
‘yourname’    ALL=(ALL)       ALL
   然后保存退出。
   第一个ALL是指网络中的主机,我们后面把它改成了主机名,它指明你的用户可以在此主机上执行后面的命令。
   第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令。
   最后一个ALL当然就是指命令名了。
   具体这里不作说明
6.把/etc/sudoers权限改回440
   $chmod 440 /etc/sudoers
7.操作完成,切换到你的用户下测试一下

实际上,这个问题也不没这么复杂,因为默认只有root能够执行sudo,因此其他账号若要使用sudo执行属于root的权限命令,则root需要先使用visudo去修改/etc/sudoers,让该账号能够使用全部或部分root命令功能。visudo相比直接使用vi的好处就在于,/etc/sudoers是有语法的,如果设置错误那会造成无法使用sudo命令的后果,而使用visduo去修改,系统会去检验有无语法错误。

1.切换到超级用户root
   $su -
2.编辑/etc/sudoers
   $visudo
3.在文件中找到root  ALL=(ALL) ALL,在该行下添加提升权限的用户信息,如:
root    ALL=(ALL)       ALL
‘yourname’    ALL=(ALL)       ALL
   然后保存退出,效果和上面的方法是一样的。
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值