admin管理员组

文章数量:1542781

我们往往会遇到一些需要将root权限赋予普通用户的情况,很多帖子都说了通过修改/etc/sudoers文件,但是很多都没有说明具体怎么操作,甚至有的操作有点坑。

下图就是我遇到过的坑:

图中利用vim打开/etc/sudoers进行修改,但是该文件是只读文件,无法用vim修改,你们可能想着用chmod 777修改文件权限进行修改,但是这个会引发所有用户sudo权限失效(亲测)。

正确的操作如下所示:

1.用 visudo 命令配置 sudo:
[root@localhost ~]# visudo
# 在 /etc/sudoers 配置文件中 root    ALL=(ALL)       ALL 这一行下面加入 test    ALL=(ALL)       ALL

查看sudo用户(可以看到我们添加的test已经在里面):
[root@localhost ~]# cat /etc/sudoers | grep ALL
Defaults    env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
root    ALL=(ALL)       ALL
test    ALL=(ALL)       ALL
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
%wheel  ALL=(ALL)       ALL
# %wheel        ALL=(ALL)       NOPASSWD: ALL
%wheel  ALL=(ALL)       NOPASSWD: ALL
# %users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom

2.sudo 免密配置:

我们首先查看用户密码:

[test@localhost test]$ sudo cat /etc/shadow
[sudo] password for test: 
root:$6$YZrm6scxO5zzICbR$fOzORb.0Ib9POZzJmrnzOGDqfFySp8X.9p5QpcpnJXWHIJvZcFpXQONyNigwrZbhXtyfnFn5F1mJsdkXS3jEF/::0:99999:7:::
bin:*:16925:0:99999:7:::

然后用visudo 命令配置 sudo:
[root@localhost ~]# visudo
# 在 /etc/sudoers 配置文件中 %wheel  ALL=(ALL)       NOPASSWD: ALL 这一行的下面 加入test ALL=(ALL)       NOPASSWD: ALL

下面查看免密用户,发现test已经在其中
[root@localhost ~]# cat /etc/sudoers | grep NOPASSWD
# %wheel        ALL=(ALL)       NOPASSWD: ALL
%wheel  ALL=(ALL)       NOPASSWD: ALL
test ALL=(ALL)       NOPASSWD: ALL
[test@localhost ~]$ sudo cat /etc/shadow
# 用普通用户test查看 /etc/shadow 文件已经不需要再输入当前登录用户的密码

本文标签: 普通用户权限Linuxroot