1.使用visudo来配置,因为visudo在配置完毕后,会检查是否有语法错误.
2.配置格式:
授权账号 授权账号所在hostname=(可切换的账号) 可执行的命令command(如果是具体命令,最好使用绝对路径)
例如:无论Tom在哪个地方登陆,都可以替换为任何账号来执行命令.
Tom All=(All) All
若想同时授权多个用户,可以使用组,即!groupname
若不想让用户使用某个命令,则!command
例如:Tom可以对除root以外的用户更改密码
Tom All=(root) !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root
别名系统:
即将授权账户或者命令,通过别名来设置
授权账户别名:User_Alias 别名A = 用户名
命令别名:Cmnd_Alias 别名B = 命令
调用:别名A All=(All) 别名B
一个经常使用的例子:通过sudo su -从而避免输入root密码
Tom All=(root) /bin/su -
很多时候,我们都是创建某个文件夹,之后再修改文件夹权限.其实不必如此.
可以直接用sudo -u userA sh -c "command1;command2" 即使用userA来执行一串命令