赞
踩
sudo(superuser do),允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。
其配置在/etc/sudoers权。它允许系统管理员集中的管理用户的使用权限和使用的主机。属性必须为0440。
检查语法:
visudo命令打开配置文件:
第一列是用户,%wheel,%代表组,代表wheel组
第二列是主机=(用户),例如ALL=(root):所有的主机,以root身份运行,ALL代表所用
第三列是开放的命令,比如:/usr/bin/mount /dev/sr0 /mnt/只能执行这一条命令。ALL代表所有
例如:配置zhangsan用户只能执行挂载命令,/usr/bin/mount /dev/sr0 /mnt/命令。添加一条
测试能否使用规定的命令,只能严格执行规定的命令。
在110行我们看到在这个组中,NOPASSWD:ALL,是要加入到wheel组中的,使用sudo执行任何命令不需要密码。
当用户过多时,我们可以使用别名的方式,统一设置。
这里面有注释,可以直接复制,只需要修改用户名和别名即可。
User_Alias ADMINS = jsmith, mikem
Host_Alias FILESERVERS = fs1, fs2
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
用户名: | 固定格式:User_Alias | 别名=用户名1,用户名2 |
主机名=(用户) | 固定格式:Host_Alias | 别名=主机名1,主机名2 |
命令 | 固定格式:Cmnd_Alias | 别名=命令(/bin/rpm, /usr/bin/up2date, /usr/bin/yum) |
这也只是定义,没有使用。在下面使用别名:
ADMINS FILESERVERS= NOPASSWD:MYCMNDS
我们添加别名:执行该命令不需要密码。别名规则:大小写字母数字下划线,数字不能开头
定义完别名还要使用别名,126行。命令中执行的命令不需要密码,NOPASSWD
!是不能执行reboot,poweroff,init,rm
测试别名的使用,只有在/usr/bin/下的命令才可以无密码使用。
在/etc/sudoers.d/下写配置文件。
我们把上面的别名使用注释掉:
先看是否能使用cat命令查看/var/log/vmware*。可以看到不能看
在/etc/sudoers.d/下写一个配置文件:vim /etc/sudoers.d/test
允许zhangsan用户查看/var/log/vmware*文件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。