su -l user -C 'COMMAND'
是用user这个用户执行命令
我们一般使用sudo 这个命令
sudo [-u] user COMMAND
sudo [-k] COMMAND 清除此前用户的密码。
sudo的配置文件/etc/sudoers
配置项为
users hosts=(runas) commands
users:可以是一个用户的名称也可以是一个组,也可以是一个别名
username
#UID
user_alias 用户别名的用法
User_Alias NETADMIN=netuser1,netuser2
%group_name
%wheel ALL=(ALL) ALL 一般默认配置文件有这一项
%#GID
hosts:可以是主机名也可以是别名
hostname
Host_Alias
runas:同样可以是用户名也可以是别名
commands:命令的绝对路径,或是别名
例子:
Cmnd_Alias NETADMINCMDS = /usr/sbin/ip
Cmnd_Alias USERADMINCMDS = /usr/sbin/useradd,/usr/sbin/usermod,/usr/bin/passwd [0-9a-zA-Z]*,!/usr/bin/passwd root //防止修改root的密码
User_Alias NETADMIN = netuser1,netuser2
User_Alias USERADMIN = poweruser1,poweruser2
%wheel ALL=(ALL) ALL
centos ALL=(root) ALL
NETADMIN ALL=(root) NETADMINCMDS
USERADMIN ALL=(root) NOPASSWD: USERADMINCMDS 不用输入密码就可以直接使用sudo命令
visudo
本文转自 神迹难觅 51CTO博客,原文链接:http://blog.51cto.com/ji123/1954319,如需转载请自行联系原作者