linux使用:sudo使用:ALL=(ALL)的详细解释
用户有root ,以及普通用户,但是普通用户想要执行高级权限(root权限)呢??sudo就是为想使用root权限的普通用户设计的,可以让普通用户具有临时使用 root 权限的权利。我们需要一张表记录,可以执行root权限的普通用户的名单,这个名单就是记录在 /etc/sudoers使用root 用户编辑/etc/sudoers,给普通用户授权。加入如下的内容,保存。zhangsan ALL=(A
用户有root ,以及普通用户,但是普通用户想要执行高级权限(root权限)呢??
sudo就是为想使用root权限的普通用户设计的,可以让普通用户具有临时使用 root 权限的权利。
我们需要一张表记录,可以执行root权限的普通用户的名单,这个名单就是 记录在 /etc/sudoers
使用root 用户编辑 /etc/sudoers,给普通用户授权。
加入如下的内容,保存。
zhangsan ALL=(ALL) ALL
这样普通用户就可以使用 sudo 执行 root 权限的命令了。
sudo 的工作过程如下:
1.当用户执行 sudo 时,系统会主动寻找/etc/sudoers 文件,判断该用户是
否有执行 sudo 的权限
2. 确认用户具有可执行 sudo 的权限后,让用户输入用户自己的密码确认
3. 若密码输入成功,则开始执行 sudo 后续的命令
如果想要更加精准的控制,就需要理解配置中的含义。
zhangsan ALL=(ALL) ALL
第一个 ALL 是指网络中的主机, 我们可以指定主机名, 这样 zhangsan 只可以
在此主机上执行后面的命令。第二个括号里的 ALL 是指目标用户,也就是以谁的身份去执行命令。最后一个 ALL 是指命令名了。
例如,我们想让 zhangsan 用户在 node-23 主机上以 allen 的身份执行 kill 命令, 就这样编写配置文件:
zhangsan node-23=(allen) /bin/kill
案例:只允许 zhangsan 用户以 root 身份在 node-23 上执行 ls 、 cat 命令,
并且执行时候免输入密码。
配置文件中:
zhangsan node-23=NOPASSWD: /bin/ls, /bin/cat
执行非 ls 、 cat 命令也会禁止。
而 cat 命令就可以执行。
很多在Linux中为了更进一步加强系统的安全性,都有一个管理员的组,只允许这个组的用户来执行su - xxx (或者su xxx)命令切换用户(不一定是切换到root),而这个组的名称通常为"wheel"
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
tm ALL=(ALL) NOPASSWD:ALL
ywj ALL=(ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
#tm用户使用root权限不需要输入密码
# ywj用户使用root权限需要输入ywj自己的密码
----------------------------------------------------
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
atguigu ALL=(ALL) NOPASSWD:ALL
注意:atguigu这一行不要直接放到root行下面,因为所有用户都属于wheel组,你先配置了atguigu具有免密功能,但是程序执行到%wheel行时,该功能又被覆盖回需要密码。所以atguigu要放到%wheel这行下面。
# 查看wheel组的用户
[tm@hadoop102 etc]$ sudo cat /etc/group | grep wheel
更多推荐
所有评论(0)