sudo 提权
某个用户能够以另外一个用户的身份通过某主机执行某命令,而不用输入对方账户密码
- sudo的配置文件 /etc/sudoers
- 每一行定义一个sudo的条目:who whcih ——hosts=(runas)TAG:command
- 基本配置格式:
<user list><host list>=<operator list><tag list><command list>
- user list 用户/组,或者已经设置的用户的别名列表,用户名直接username,用户组加上%。
- host list:主机名或别名列表
- operator list runas用户,既可以以哪个用户、组的权限来执行
- command list 可以执行的命令或列表
- tag list经常用到的是NOPASSWD,添加这个参数之后可以不用输入密码
- 别名机制:类似定义了一个组
- 4类别名(名字只能使用大写的英文字母组合)
- User_Alias:用户别名
- Hosts_Alias:主机别名
- Runas_Alias:参照用户
- Cmnd_Alias:命令别名
- 别名:可使用
!
取反 - User_ Alias USERADMIN =系统用户名 或 %组名 或用户别名
- Hosts_ Alias 主机名 IP 网络地址 其它主机名 可以嵌套
- Runas_ Alias 用户名 #UID 别名
- Cmnd_ Alias 命令绝对路径 目录(下面所有命令) 其它定义的命令别名
- visudo -c 可以检查配置文件语法
- 在第一次输入后,密码会被记录,5分钟内是有效的
- sudo -k 取消密码记忆,必须再重新进行验证
- sudo -l 列出当前用户所有可以使用的sudo类的命令
- 观察sudoers文件的最后一行,内容如下:
\#includedir /etc/sudoers.d
含义:包含该文件夹
用途:不提倡将修改直接写入主配置文件,可以写入上面目录下的某个文件中
记录sudo日志到指定的文件
- 编辑/etc/sudoers文件,添加如下行:
- Defaults logfile=/var/log/sudo.log
- Defaults !syslog
- visudo -c 可以检查配置文件语法