linux使用:sudo使用:ALL=(ALL)的详细解释

用户有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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值