菜鸟学Linux 第042篇笔记 sudo
sudo 详解
用于给其它用户授权可执行的命令
环境
50台服务器
网络:定义网络属性
用户:用户管理
linux root
Tom root
linux用户: 管理员和普通用户
su - run a shell with substitute user and group IDs
sudo, sudoedit - execute a command as another user
sudo COMMAND
某个用户能够以另外一个用户的身份通过某主机执行某命令
管理员授予某用户可以执行管理员的命令,但在执行时如果为管理员所授予的命令
需要在输入自己的账户密码时才可执行
sudo 配置文件/etc/sudoers
配置该文件的命令
visudo (su - run a shell with substitute user and group IDs)
sudo条目定义格式
who which_hosts=(runas) command
Alias
who: User_Alias
which_hosts: Host_Alias
Runas: Runas_Alias run as some user 以哪个用户运行
Command: Cmnd_Alias
别名必须全部而且只能使用大写英文字母组合
别名:类似组
定义别名
User_Alias USERADMIN=
用户的用户名
组名,使用%引导
也可包含其它已经定义的别名
Host_Alias
主机名
IP
网络地址
其它主机别名
Runas_Alias
用户名
%组名
其它Runas别名
Cmnd_Alias
命令(建议绝对路径)
目录(表示此目录内的所有命令)
其它事先定义过的命令别名
e.g.
Cmnd_Alias USERADMINCMND = /usr/sbin/useradd, /usr/sbin/usermod,
/usr/bin/passwd, ! /usr/bin/passwd root
使用visudo定义hadoop用户以root管理员执行useradd命令
visudo
最后一行添加
hadoop ALL=(root) /usr/sbin/useradd,/user/sbin/usermod
添加后该用户登录到shell即可运行useradd和usermod命令
sudo /usr/bin/useradd someuser
持续5分钟不需要再输入密码
sudo命令
-l If no command is specified, the -l (list) option will list the
allowed (and forbidden) commands for the invoking user (or the
user specified by the -U option) on the current host.
-k 执行时可以使5分钟不用输入密码提前结束
命令前加tag
PASSWD 执行时需要输入用户密码
NOPASSWD 执行时不需要输入密码
其它用户以管理员身份执行某命令日志里会有记录
less /var/log/secure
这也是为何该文件的权限特殊的原因,600
本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1881270如需转载请自行联系原作者
Winthcloud