Linux用户不在sudoers文件中
  Op9yysgqYUmV 2023年11月02日 53 0


*** 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


   然后保存退出,效果和上面的方法是一样的。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
Op9yysgqYUmV