注:使用sudo必须要root在/etc/sudoers中授权
一、授权方法:
1、vim /etc/sudoers
2、visudo
二、授权格式:
用户账号 登陆的主机 = (可以变换的身份) 可以执行的命令
例:
# root和user01用户还有wheel组成员可以在任何主机变成任何Linux本机上具有的所有账号,并执行所有命令。
root ALL=(ALL) ALL
user01 ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
# 假如系统中有一个web软件是以www这个用户来进行管理的,想要让vbird用户可以用www这个账号身份进行管理,那么应该写成:
vbird ALL=(www) ALL
# wheel组可以不需要输入密码,直接使用sudo执行命令
%wheel ALL=(ALL) NOPASSWD: ALL
# 别名。别名必须为大写!!!
# 为vbird, dmtsai, vbird1, user01创建一个组,名称为ADMPW。
# ADMPW这个组可以不需要输入密码更改用户密码,但是不能更改root的密码。
User_Alias ADMPW = vbird, dmtsai, vbird1, user01
ADMPW ALL = NOPASSWD: !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, \
!/usr/bin/passwd root
# 为user01, dmtsai, vbird创建一个组,名称为DNSADM。
# 把可以执行的命令起一个别名为DNSCMD,用于管理named
User_Alias DNSADM = user01, dmtsai, vbird
Cmnd_Alias DNSCMD = /etc/init.d/named, /usr/bin/vim /var/named/*
DNSADM ALL = DNSCMD
# 因为sudo只能执行一次命令,所以将sudo和su一起使用
User_Alias ADMPW = vbird, dmtsai, vbird1, user01
ADMPW ALL = /bin/su
# 如此一来,在ADMPW内的用户就可以用“sudo su - ”来切换身份成为root了
三、使用方法:
sudo [-u [username|#uid]] command
# 来自鸟哥私房菜。