1、定义:sudo:
能够让获得授权的用户以另外一个用户的身份运行指定的命令;格式为"sudo [参数] 命令名称"
参数 作用
-h 列出帮助信息
-l 列出当前用户可执行的命令
-u 用户名或UID值 以指定的用户身份执行命令
-k 清空密码的有效时间,下次执行sudo 时需要再次进行密码验证
-b 在后台执行指定的命令
-p 更改询问密码的提示语
2、授权机制:授权文件 /etc/sudoers
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL #主要组,附加组不行
谁可以使用 允许使用的主机=(以谁的身份) 可执行的命令
3、 编译此文件的专用命令:visudo
(1)授权项:
who where=(whom) commands
users hosts=(runas) commands
[root@node01 ~]# visudo
root ALL=(ALL) ALL
user01 ALL=(ALL) /usr/sbin/useradd,/sbin/userdel
(2)sudo权限定义到组wheel
%wheel ALL=(ALL) ALL, !/bin/su, !/usr/bin/passwd root
注意踩坑:!wheel必须定义密码
[root@node01 ~]# gpasswd wheel
[user01@node01 ~]$ newgrp wheel
[user01@node01 ~]$ sudo -l
(3)定义别名
[root@node01 ~]# visudo
User_Alias USERADMIN=user01,user02
Cmnd_Alias NETADMINCMD=/usr/sbin/ip
Cmnd_Alias USERADMINCMD=/user/sbin/useradd, /sbin/useradd ,/sbin/userdel
user01 ALL=(ALL) NETADMINCMD
user02 ALL=(ALL) NETADMINCMD,USERADMINCMD
(4)别名代替用户
[root@node01 ~]# visudo
User_Alias USERADMIN=user01,user02
Cmnd_Alias NETADMINCMD=/usr/sbin/ip
Cmnd_Alias USERADMINCMD=/user/sbin/useradd, /sbin/useradd ,/sbin/userdel
USERADMIN ALL=(ALL) NETADMINCMD,USERADMINCMD
(5)定义标签
[root@node01 ~]# visudo
User_Alias USERADMIN=user01,user02
Cmnd_Alias NETADMINCMD=/usr/sbin/ip
Cmnd_Alias USERADMINCMD=/user/sbin/useradd, /sbin/useradd ,/sbin/userdel
USERADMIN ALL=(ALL) NOPASSWD: NETADMINCMD, PASSWD: USERADMINCMD
网友评论