在 CentOS 中添加、删除和授予用户 Sudo 权限

一种 "sudo" 用户可以运行普通用户不允许执行的管理任务或命令。 本指南解释了如何添加、删除和授予 sudo CentOS 和其他基于 RHEL 的系统中的用户的权限。 我已使用以下步骤创建 sudo CentOS 8 最小版用户。 但是,它也应该适用于其他基于 RPM 的系统。

什么是 sudo?

一般来说,在 Linux 和 Unix 中, sudo 程序允许普通用户暂时获得 超级用户的 或者 root 用户的能力。 使用 sudo 命令,普通用户可以执行管理任务,甚至无需访问 root 用户的密码。 而不是放弃 root 密码给任何人,只需分配 sudo 授予用户权限以提升他们的权限。 这个单词 ”sudo“最初来自”细读 ”,因为它主要用于执行超级用户的任务。现在,它也代表“替代用户做”

的好处 sudo 用户

成为一个 sudo 用户提供了许多优势,如下所列:

  • 系统 admin 不需要分享 root 所有的用户密码。
  • 普通用户即使不知道 root 密码。
  • 这 sudo 可以随时向用户授予和撤销权限。
  • 这 sudo 会话将在用户不活动的特定时间段后自动过期。 当用户忘记注销他的会话时,它非常有用。 默认情况下, sudo 会话将在 15 分钟不活动后过期。
  • 系统管理员可以监控所有的活动 sudo 用户。 全部 sudo 用户的活动已登录 /var/log/secure 文件。 如果有任何问题,您可以查看日志文件并尝试找出问题所在。 您还会发现谁在滥用 sudo 特权,您可以简单地撤销他的许可。

在 CentOS 中添加、删除和授予用户 Sudo 权限

登录到您的 CentOS 系统 root 用户或任何拥有 sudo 允许。

首先,让我们添加一个新用户。

1.在CentOS中添加用户

让我创建一个名为“senthil”的新用户。 为此,我运行以下命令 root 终端用户:

# adduser senthil

为新用户“senthil”设置密码:

# passwd senthil

现在,我们已经创建了一个普通用户。 他尚未获授权执行任何管理任务。 让我们检查用户“senthil”是否可以使用 sudo 命令或不通过运行以下命令:

# sudo -l -U senthil

样本输出:

User senthil is not allowed to run sudo on centos8
检查用户是否有 sudo centos中的特权

是的,他还不能跑步 sudo 在我的 CentOS 8 系统上。 让我们给他 sudo 现在的权利。

2. 格兰特 sudo CentOS 中用户的权限

要将普通用户添加到 sudoers 组,您需要将他/她添加到 wheel 团体。 对于那些想知道的人来说, wheel 是一些类 Unix 操作系统中的一个特殊组。 的所有成员 wheel 组被允许执行管理任务。 轮组类似于 sudo 基于 Debian 的系统中的组。

我们可以通过两种方式将用户添加到 sudoers。 第一种方法是使用 chmod 命令。

2.1。 将用户添加到 sudoers 使用 usermod CentOS 中的命令

现在让我们授予 sudo 通过将新创建的用户“senthil”添加到 wheel 组使用 usermod 命令如下:

# usermod -aG wheel senthil
将用户添加到 sudoers 使用 usermod CentOS 中的命令

这里, -aG 指附加到一个补充组。 在我们的例子中,它是 wheel 团体。 就是这样,我们刚刚授予 sudo 用户“senthil”的权利。

让我们使用命令验证用户是否在 sudoers 列表中:

# sudo -l -U senthil

样本输出:

Matching Defaults entries for senthil on centos8:
    !visiblepw, always_set_home, match_group_by_gid,
    always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY
    HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR
    USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
    LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY
    LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL
    LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin:/bin:/usr/sbin:/usr/bin

User senthil may run the following commands on centos8:
    (ALL) ALL
检查用户是否有 sudo centos中的权利检查用户是否有 sudo centos中的权利

正如您在上述输出的最后一行中看到的,用户“senthil”现在可以执行所有命令。

2.2. 通过在 CentOS 中编辑 sudoers 配置文件将用户添加到 sudoers

将用户添加到 sudoers 列表的另一种方法是直接将他/她添加到 sudoers 配置文件中。

使用命令编辑 sudoers 配置文件:

# visudo

这将打开 /etc/sudoers 文件在你的 编辑器或任何你在你的 $PATH. 向下滚动,直到找到以下条目:

root    ALL=(ALL)       ALL

在上述条目之后,添加以下行:

senthil ALL=(ALL)       ALL
在 CentOS 的 sudoers 配置文件中添加用户在 CentOS 的 sudoers 配置文件中添加用户

在这里,线 ALL=(ALL) ALL 指用户“senthil”可以在任何主机上执行任何命令。 将“senthil”替换为您自己的用户名。 Save 和 close 文件。 完毕! 用户“senthil”已添加到 sudoers 列表中。

2.3. 核实 sudo CentOS 中的用户

从当前会话中注销并以新创建的身份重新登录 sudo 用户。 或者,您可以使用以下命令直接切换到其他用户,而无需从当前会话中注销:

# sudo -i -u senthil

现在,验证用户是否能够执行任何管理任务 sudo 允许:

$ sudo dnf update
核实 sudo 用户核实 sudo 用户

3.删除 sudo CentOS 中用户的权限

我们可以删除 sudo 用户的权限,而不必完全删除用户帐户。

撤销 sudo 来自用户的权限,只需运行以下命令 root 用户:

# gpasswd -d senthil wheel

样本输出:

Removing user senthil from group wheel
消除 sudo CentOS 中用户的权限消除 sudo CentOS 中用户的权限

上述命令将删除调用的用户 "senthil" 来自 "wheel" 团体。 请注意,用户并未从系统中完全删除。 我们删除了 sudo 仅限特权。

检查用户是否能够执行 sudo 操作:

# sudo -l -U senthil
User senthil is not allowed to run sudo on centos8.

好, senthil 不再在 sudoers 组中,他无法执行任何管理任务。

要从系统中永久删除用户,请运行:

# userdel -r senthil

上述命令将删除用户“senthil”及其 home 目录和邮件假脱机。

有关更多详细信息,请参阅相应命令的手册页:

$ man sudo
$ man adduser
$ man usermod
$ man gpasswd
$ man userdel

结论

您现在知道如何添加、删除和授予 sudo CentOS 操作系统中用户的权限。 如您所见,将新用户添加到 sudoers 列表非常容易,授予 sudo 现有用户的权限并删除 sudo 来自用户的权限。 希望这可以帮助。

相关阅读:

  • 如何在 Alpine Linux 中添加、删除和授予用户 Sudo 权限
  • 如何在 Arch Linux 中添加、删除和授予用户 Sudo 权限
  • 如何添加、删除和授予用户 Sudo 权限 Fedora
  • 如何在 Ubuntu 中添加、删除和授予用户 Sudo 权限
  • 如何在 Linux 中更改 Sudo 密码超时
  • 如何在 Linux 中更改默认 Sudo 日志文件
  • 如何恢复用户的 Sudo 权限
  • 如何在你的 Linux 系统中查找所有 Sudo 用户
  • 如何在 Linux 中运行没有 Sudo 密码的特定命令