sudo 以另一个用户身份执行命令
语法格式:sudo【option】 sudo [选项]
注意:sudo 命令以及后面的选项和文件里,每个元素之间都要至少要有一个空格
参数选项:-l,列出当前用户可以执行的命令。只有在 sudoers 文件里的用户才能使用该选项
sudo 授权中的别名类型
用户或组 | 主机 | 可以切换的用户角色 | 命令 |
---|---|---|---|
root | ALL= | ( ALL ) | ALL |
USer_Alias ADMIN = jsmith,mikem,%groupname | Host_Alias FILESERVERS = fs1,fs2 | Runas_Alias OP = root | Cmnd_Alias SERVICES = /sbin/service,/usr/sbin/useradd |
sudo 配置注意事项
序号 | 内容 |
---|---|
1 | 命令别名下的成员必须是文件或目录的绝对路径 |
2 | 别名名称是包含大写字母、数字、下划线,如果是字母都要大写 |
3 | 一个别名下有多个成员,成员与成员之间,用过半角 " , " 号分隔;成员必须是有效实际存在的 |
4 | 别名成员受别名类型 Host_Alias、User_Alias、Runas_Alias、Cmnd_Alias 制约,定义什么类型的别名,就要有什么类型的成员相配 |
5 | 别名规则是每行算一个规则,如果一个别名规则一行容不下时,可以通过 " \ " 来续行 |
6 | 指定切换的用户要用 () 括号括起来。如果省略括号,则默认为 root 用户;如果括号里是 ALL,则代表能切换到所有用户 |
7 | 如果不需要密码直接运行命令的,应该加 NOPASSWD: 参数 |
8 | 禁止某类程序或名执行,要在命令动作前面加上 " ! " 号,并且放在允许执行命令的后面 |
9 | 用户组前面必须加 % 号 |
注意:授权 ALL 在进行排除有时会让我们防不胜防,这种先开后关的策略并不是好的策略。
案例一:
参数 -s 举例
案例二:
配置 sudo 命令用户行为 日志审计
注意:sudo 命令日志审计,并不是记录普通用户的普通操作,而是记录,那些执行 sudo 命令的用户的操作。
案例三:
用户管理提权 sudo 配置简单举例
su 与 sudo 用户角色切换原理图
sudo 工作原理流程图
原文地址:http://blog.51cto.com/12384628/2121722