shell命令--visudo

shell命令--visudo

0、visudo命令的专属图床

点此快速打开文章图床_shell命令visudo

1、visudo命令的功能说明

visudo命令专门用来编辑/etc/sudoers这个文件的。授权配置在/etc/sudoers这个文件中,默认这个文件是只读权限,它有个专门的工具叫visudo,这个命令能不仅能编辑这个配置文件,还能对输入内容做语法检测,如果语法有误,会提示错误位置,并且不会保存到配置文件中,它还能指出语法错误。其实visudo命令相当于:vim /etc/sudoers

2、visudo命令的语法格式

SYNOPSIS
  visudo [-chqsV] [-f sudoers]

3、visudo命令的选项说明

授权配置格式:

who     where=(whom)    commands
用户    主机=(以谁的身份) commands
#用户配置可以是:
 username
 #uid
 %groupname
 %#gid
 user_alias
#主机配置:
 ip
 hostname
 Netaddr
 host_alias
#commands配置
 command #命令要绝对路径指定
 cmnd    #命令别名,灵活使用能提高效率
-----------------------------------
在sudo配置中,可能对多个用户配置多个相同命令,这时候可以使用别名来配置。

#定义别名的方法:
ALIAS_TYPE  NAME=item1, item2, item3, ...       NAME:别名名称,必须使用全大写字符;
     ALIAS_TYPE:
     User_Alias
     Host_Alias
     Runas_Alias
     Cmnd_Alias
                     
例如:
 User_Alias  NETADMIN=tom, jerry
 Cmnd_Alias NETCMND=ip, ifconfig, route
 
 NETADMIN    localhost=(root)    NETCMND
  • -c:手动执行语法检查

4、visudo命令的实践操作

范例1:执行 visudo 对普通用户usertest1usertest2授权

useradd usertest1
useradd usertest2
visudo  -->z在99行附近添加下面内容

usertest1 ALL=(ALL) NOPASSWD: AL
usertest2 ALL=(ALL) NOPASSWD: /usr/bin/useradd,/usr/bin/userdel

上面的格式简单介绍

待授权的用户或组 机器=(授权角色) 可以执行的命令
user MACHINE= COMMANDS
usertest1 ALL=(ALL) ALL

每次执行visudo并修改内容后,需要语法检查

visudo -c

范例2:使用快速操作命令增加 sudo 授权

\cp /etc/sudoers{,.bak}  -->操作前备份
ls /etc |grep sudoers 
echo "usertest1 ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
tail -1 /etc/sudoers
visudo -c  -->语法检查

『MineGi有话说』:快来扫一扫下面链接的二维码,加入我们吧!

posted @ 2020-03-05 08:00  MineGi  阅读(455)  评论(0编辑  收藏  举报