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

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

内容

  1. 什么是 sudo?
  2. 的好处 sudo 用户
  3. 在 CentOS 中为用户添加、删除和授予 Sudo 权限
    1. 1. CentOS添加用户
    2. 2. 授予 sudo CentOS 用户权限
      1. 2.1. 在 CentOS 中使用 usermod 命令将用户添加到 sudoers
      2. 2.2. 在 CentOS 中通过编辑 sudoers 配置文件将用户添加到 sudoers
      3. 2.3. 核实 sudo CentOS 用户
    3. 3. 删除 sudo CentOS 用户的权限
  4. 结论

什么是 sudo?

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

的好处 sudo 用户

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

  • 系统 admin 不需要分享 root 用户密码全部。
  • 普通用户可以执行管理任务,即使他/她不知道 root 密码。
  • 这 sudo 可以随时向用户授予和撤销权限。
  • 这 sudo session 将在用户不活动的特定时间段后自动过期。 当用户忘记注销他的会话时,它非常有用。 默认情况下, 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 密码运行特定命令

LinuxLinux基础Linux命令sudo用户管理用户权限