技巧:Linux赋予普通用户特殊权限( 二 )


代码:
Host_Alias SERVER=no1
User_Alias ADMINS=liming,gem
Cmnd_Alias SHUTDOWN=/usr/sbin/halt,/usr/sbin/shutdown,/usr/sbin/reboot
ADMINS SERVER=SHUTDOWN
4、再看这个例子:
代码:
ADMINS ALL=(ALL) NOPASSWD: ALL
表示允许ADMINS不用口令执行一切操作,其中“NOPASSWD:项定义了用户执行操作时不需要输入口令 。
5、sudo命令还可以加上一些参数,完成一些辅助的功能,如
代码:
$ sudo –l
会显示出类似这样的信息:
代码:
User liming may run the following commands on this host:
(root) /usr/sbin/reboot
说明root允许用户liming执行/usr/sbin/reboot命令 。这个参数可以使用户查看自己目前可以在sudo中执行哪些命令 。
6、在命令提示符下键入sudo命令会列出所有参数,其他一些参数如下:
代码:
-V 显示版本编号 。
-h 显示sudo命令的使用参数 。
-v 因为sudo在第一次执行时或是在N分钟内没有执行(N预设为5)会询问密码 。这个参数是重新做一次确认,如果超过N分钟,也会问密码 。
-k 将会强迫使用者在下一次执行sudo时询问密码(不论有没有超过N分钟) 。
-b 将要执行的命令放在背景执行 。
-p prompt 可以更改问密码的提示语,其中\u会替换为使用者的账号名称,%h会显示主机名称 。
-u username/#uid 不加此参数,代表要以root的身份执行命令,而加了此参数,可以以username的身份执行命令(#uid为该username的UID) 。
-s 执行环境变量中的 SHELL 所指定的 Shell ,或是 /etc/passwd 里所指定的 Shell 。
-H 将环境变量中的HOME(宿主目录)指定为要变更身份的使用者的宿主目录 。(如不加-u参数就是系统管理者root 。)
要以系统管理者身份(或以-u更改为其他人)执行的命令 。

推荐阅读