sudo的配置文件
sudo默认配置文件是**/etc/sudoers** ,一般使用Linux指定编辑工具visudo ,此工具的好处是可以进行错误检查。在添加规则不符合语法规则时,保存退出时会提示给我们错误信息;配置好后,可以用切换到您授权的普通用户下,通过sudo -l来查看哪些命令是可以执行的或禁止的;
/etc/sudoers 文件中每行是一个规则,前面带有#号可以当作是注释的内容,并不执行;如果规则很长,可以写在多列上,可以用\号来续行。
/etc/sudoers 的规则可分为两类;一类是授权规则,另一类是别名定义;别名定义并不是必须的,但授权规则是必须的;
进入root用户,打开sudoers文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/ *** in:/usr/local/bin:/usr/ *** in:/usr/bin:/ *** in:/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d |
实例1:普通用户lin添加sudo权限,在“root ALL=(ALL)ALL”这一行下面,加入如下图所示的一行(用户名 ALL=(ALL) ALL),并保存。
lin ALL=(ALL:ALL) ALL
实例2:如何想让普通用户lin具有/etc/init.d/nagios脚本重启的权限
lin ALL=NOPASSWD:/etc/init.d/nagios restart
实例3:让普通用户lin具有所有超级用户的权限而又不用输入密码
lin ALL=(ALL)NOPASSWD:ALL