sudo 使普通用户可以临时以 root 用户的身份和权限执行系统命令(centos 7.3)
sudo权限的作用是:使普通用户可以临时以 root 用户的身份和权限执行系统命令
sudo权限的操作对象是系统命令
注意事项:
1) 赋予用户sudo权限时一定要谨慎,够用即可,不要赋予过高的权限
2) [授权的命令]
设置得越具体,用户获得的权限越小。
3) 严禁赋予普通用户 /usr/bin/passwd
、/usr/bin/vi
、/usr/bin/su
、/usr/bin/bash
命令的权限,拥此权限的用户可以修改root用户密码,然后为所欲为。
4) 权力越大,责任越大。
步骤一.root用户登录直接使用visudo命令进行编辑, visudo 命令实际修改的是 /etc/sudoers
文件
步骤二. 编辑
[root/etc]#visudo ... 省略部分内容 ... ## Allow root to run any commands anywhere ## 允许root在任何地方运行任何命令 root ALL=(ALL) ALL ## Allows members of the 'sys' group to run networking, software, service management apps and more. ## 允许“sys”用户组的成员运行 网络、软件、服务管理应用等命令。 # %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS ## Allows people in group wheel to run all commands ## 允许“wheel”用户组的成员运行所有命令 %wheel ALL=(ALL) ALL ## Allows people in group wheel to run all commands without a password ## 允许“wheel”用户组的成员运行所有命令,且运行时不需要输入密码 # %wheel ALL=(ALL) NOPASSWD: ALL ## Allows members of the users group to mount and unmount the cdrom as root ## 允许“users”组的成员运行 挂载、卸载光盘的命令 # %users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom ## Allows members of the users group to shutdown this system ## 允许“users”组的成员在本机运行 /sbin/shutdown -h now 命令 # %users localhost=/sbin/shutdown -h now ## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment) ## 读取 /etc/sudoers.d 目录下所有文件的内容作为配嵌入到此配置文件 ## 注意,下面的 # 后面并不是注释 #includedir /etc/sudoers.d
为用户配置sudo权限
[用户名] [被管理主机的IP]=([可以使用的身份]) [NOPASSWD: ][授权的命令]
[被管理主机的IP]
、[可以使用的身份]
、[授权的命令]
都可以使用ALL
来表示不限制。
添加[NOPASSWD: ]
选项可以使用户在使用sudo权限时不需要输入密码。[授权的命令]
要使用绝对路径,多条命令之间可用逗号(,
)分隔。
- 例:
## Allow root to run any commands anywhere
## 允许root在任何地方运行任何命令
root ALL=(ALL) ALL
zhangsan ALL=(ALL) /usr/bin/chown,/usr/bin/chmod
为用户组配置sudo权限
%[组名] [被管理主机的IP]=([可以使用的身份]) [NOPASSWD: ][授权的命令]
[被管理主机的IP]
、[可以使用的身份]
、[授权的命令]
都可以使用ALL
来表示不限制。
添加[NOPASSWD: ]
选项可以使用户在使用sudo权限时不需要输入密码。
用户组 与 用户 的唯一区别是用户组前有个%
- 例:
## 允许“wheel”用户组的成员运行所有命令,且运行时不需要输入密码
%wheel ALL=(ALL) NOPASSWD: ALL
步骤三.保存即可