如何在 RHEL 上创建 Sudo 用户 ?

Sudo 用户是 Linux 系统的普通用户,具有管理员或 root 权限,可执行管理任务。但是,在默认情况下,Linux 中的所有普通用户都不是 sudo 用户,root 用户必须通过将用户添加到 wheel group 中,手动为其分配 sudo 权限。

在 Red Hat Enterprise Linux、Rocky Linux 和 AlmaLinux 等 RHEL 发行版中,在安装过程中创建了一个 wheel 组,并且在系统的 sudoers 文件中已经定义了它的条目。

# grep -i "^[%wheel]" /etc/sudoers
%wheel  ALL=(ALL)  ALL
#

当任何普通用户被添加到这个 wheel 组中时,该用户将获得 sudo 权限,并可以通过在命令前面使用 sudo 来运行所有管理命令。

在这篇文章中,我们将逐步学习如何在 RHEL、Rocky Linux 和 AlmaLinux 操作系统上创建一个新的 sudo 用户。

(1) 以 root 身份登录到系统

以 root 用户登录系统,如果您已经以普通用户登录,则切换到 root 用户,使用以下命令

$ su - root

(2) 使用 UserAdd 命令创建常规用户

在创建一个新的普通用户时,指定 wheel 为辅助组。

语法: useradd -G wheel

假设我们要创建一个名为 sysadm 的用户,运行以下 useradd 命令

# useradd -G wheel sysadm

使用下面的 passwd 命令为上面新创建的用户创建密码

# echo "P@##DW0$Ds" | passwd sysadm --stdin

备注: 将密码字符串替换为需要设置的用户密码

将一个现有的普通用户添加到 wheel 组,使用以下命令

语法:usermod -aG wheel

运行以下命令验证用户是否属于 wheel 组

# id sysadm
uid=1000(sysadm) gid=1000(sysadm) groups=1000(sysadm),10(wheel)
#

(3) 测试 Sudo User

要确认新创建的用户是否具有 sudo 权限,请运行两个管理命令,不要忘记在命令前输入 sudo

首先切换到普通用户或以普通用户登录,并执行以下命令

# su - sysadm
$ sudo whoami
[sudo] password for sysadm:
root
$
$ sudo dnf install -y net-tools

以上命令的输出如下所示

Sudo-Command-Usage-RHEL

以上确认用户具有 sudo 权限,可以运行管理命令。如果您已经仔细注意到,我们必须为通过 sudo 执行管理命令指定密码。

如果您想在没有密码的情况下运行 sudo 命令,需要编辑 sudoer 文件,注释掉行 “%wheel ALL=(ALL) ALL” 以及行 “# %wheel ALL=(ALL) NOPASSWD: ALL”

# vi /etc/sudoers

Edit-Sudoers-File-RHEL

保存并退出文件

另外一个方法就是在目录 /etc/sudoers.d 的中创建一个文件,并添加以下条目

User_Name ALL=(ALL) NOPASSWD: ALL

运行以下 echo 命令以完成上述任务

$ su -
# echo -e "sysadm\tALL=(ALL)\tNOPASSWD: ALL" > /etc/sudoers.d/sysadm
# cat /etc/sudoers.d/sysadm
sysadm  ALL=(ALL)       NOPASSWD: ALL
#

现在,我们通过 sudo 运行管理命令,那么它将不会提示输入密码。

Sudo-Without-Password

我的开源项目

酷瓜云课堂-开源网校系统

你可能感兴趣的:(rhelsudoers)