注:使用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















# 来自鸟哥私房菜。