1.sudo命令功能:控制指定用戶 通過哪些遠程主機 以哪個用戶身份 执行哪些命令
sudo配置文件在/etc/sudoers
/etc/sudoers:輸寫格式
誰 通過遠程主機=(以誰的身份) 執行這些命令
例如:root ALL=(ALL) ALL
root用戶通過任意遠程主機以所有用戶身份執行所有命令
注意:man sudoers 可查看详细的输写格式
2.別名定義:別名取名必須全部使用大寫字母,當后面有多個,用逗號隔開
别名之间可以嵌套。
用户别名 User_Alias FULLTIMERS = willow, tom, rucy
也可以用组名:%组名
主机别名 Host_Alias CUNETS = 172.16.0.0/255.255.0.0
也可以使用主机名,IP地址
以谁的身份别名 Runas_Alias OP = root, operator
用法与User_Alias相同
命令列表 Cmnd_Alias PAGERS = /usr/bin/more, /usr/bin/pg, /usr/bin/less
命令路径,命令目录
3.visudo 相當于vim /etc/sudoers,都是修改sudo的配置文件
visudo 檢查語法,建议常用这个命令修改sudo配置文件
vim /etc/sudoers 不檢查語法
4.sudo常用选项:
-l,显示当前用户可使用sudo的命令列表
-k,清除当前用户认证密码,下次sudo命令需输入密码
5.实例:希望willow用户使用root身份执行ifconfig命令查看本机IP地址:
visudo #打开/etc/sudoers配置文件进行修改
willow ALL=(root) /sbin/ifconfig
6.实例:希望willow用户使用root身份执行mount命令挂载,但无需输入密码认证
visudo #打开/etc/sudoers配置文件进行修改
willow ALL=(root) NOPASSWD: /bin/mount
7.实例:希望willow用户,willow组,user1组使用root身份执行添加,修改,删除用户命令,并能够修 改用户密码(注意:请使用别名实现)
visudo #打开/etc/sudoers配置文件进行修改
User_Alias USERSADM = willow,%willow,%user1
Cmnd_Alias USERSADMCMD = /usr/sbin/useradd,/usr/sbin/usermod,/usr/sbin/userdel,/usr/bin/passwd
USERSADM ALL=(root) USERSADMCMD
8.实例:希望willow用户,willow组,user1组使用root身份执行添加,修改,删除用户命令,并能够修改用户密码 但不能修改root密码(注意:请使用别名实现,执行命令时无需输入密码认证)
visudo #打开/etc/sudoers配置文件进行修改
User_Alias USERSADM = willow,%willow,%user1
Cmnd_Alias USERSADMCMD = /usr/sbin/useradd,/usr/sbin/usermod,/usr/sbin/userdel,/usr/bin/passwd [A-Za-z]*,! /usr/bin/passwd root
USERSADM ALL=(root) NOPASSWD: USERSADMCMD
解释:/usr/bin/passwd [A-Za-z]* :表示/usr/bin/passwd 后面必须跟用户名,不能直接回车
! /usr/bin/passwd root :表示除了 /usr/bin/passwd root这个命令其他所有,即叹号是取反的意思
9.希望willow普通用户拥有与root相同的权限
willow ALL=(ALL) NOPASSWD: ALL