sudo 提权
一.sudo:
某个用户能够以另外一个用户的身份通过某主机执行某命令
useradd admin
sudo 的配置文件 /etc/sudoers
visudo
每一行就定义了一个sudo的条目:
who which——hosts=(runas) TAG: command
基本配置格式
user list 用户/组,或者已经设置的用户的别名列表, 用户名直接 username,用户组加上%,比如%admin, 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 命令绝对路径 目录(下面所有命令) 其它定义的命令别名 例子:定义hadoop用户可以以root用户的身份执行useradd 命令 /usr/sbin/useradd hadoop sudo /usr/sbin/useradd hadoop visudo hadoop ALL=(root) /usr/sbin/useradd ,/usr/sbin/usermod 在第一次输入后,密码会被记录,5分钟内是有效的 sudo -k 取消密码记忆,必须再重新进行验证 sudo -l 列出当前用户所有可以使用的sudo类的命令 例子: hadoop ALL=(root) NOPASSWD: /usr/sbin/useradd , PASSWD: /usr/sbin/usermod 例子: User_Alias USERADMIN = hadoop , %hadoop Cdm_Alias USERADMINCMD = /usr/sbin/useradd, /user/sbin/usermod,/usr/sbin/userdel, /usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root 记录sudo日志到指定的文件: 编辑/etc/sudoers文件,添加如下行: Defaults logfile=/var/log/sudo.log Defaults !syslog visudo -c 可以检查配置文件语法
联系客服