深入理解sudo

以前没有太在意这方面的知识,现整理如下:

用root用户登录或用su - 切换到root用户,使用visudo命令,方法跟vi一样

 

赋予用户在所有主机上的所有权限

在最后一行加入

your_user_name ALL=(ALL) ALL 

第一个ALL表示主机,后两个ALL表示权限

保存即可。

 

指定主机别名

为了方便设置一批主机,可以在文件中定义别名,如

Host_Alias     FILESERVERS = fs1, fs2

 

指定用户别名

用户同样可以设置别名,方便定义一组用户,如:

User_Alias ADMINS = jsmith, mikem

 

指定命令别名

为了方便给不同用户设置不同的权限,可以将相关命令打包成一个组,如:

Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool

 

授权用户指定主机指定权限

有了上面的知识积累,就可以给指定的用户授予指定的管理员权限,如:

your_user_name server1 = NETWORKING

server1是主机名,NETWORKING是之前定义的命令的别名

如果有多个命令或命令别名,需要用逗号隔开。

 

授权某个用户组相应权限

如果想将一组用户都可以使用sudo,则使用%加在组名前面

%your_group_name ALL=(ALL) ALL 

 

 

授权用户使用管理权限的时候不输入密码

如果想不必输入密码,则需要更改visudo中的相关行如下

your_user_name ALL=(ALL) NOPASSWD: ALL 

 

设置过以上相关内容后,就可以使用sudo临时使用需要管理权限的命令,方法是

sudo commands

 如果没有指定NOPASSWORD的话,是需要输入相关用户密码的。

 

可以使用sudo -l命令列出此用户的相关特殊权限

你可能感兴趣的:(.net)