一种 "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 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
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

正如您在上述输出的最后一行中看到的,用户“senthil”现在可以执行所有命令。
2.2. 通过在 CentOS 中编辑 sudoers 配置文件将用户添加到 sudoers
将用户添加到 sudoers 列表的另一种方法是直接将他/她添加到 sudoers 配置文件中。
使用命令编辑 sudoers 配置文件:
# visudo
这将打开 /etc/sudoers
文件在你的 六 编辑器或任何你在你的 $PATH
. 向下滚动,直到找到以下条目:
root ALL=(ALL) ALL
在上述条目之后,添加以下行:
senthil ALL=(ALL) ALL

在这里,线 ALL=(ALL) ALL
指用户“senthil”可以在任何主机上执行任何命令。 将“senthil”替换为您自己的用户名。 Save 和 close 文件。 完毕! 用户“senthil”已添加到 sudoers 列表中。
2.3. 核实 sudo CentOS 中的用户
从当前会话中注销并以新创建的身份重新登录 sudo 用户。 或者,您可以使用以下命令直接切换到其他用户,而无需从当前会话中注销:
# sudo -i -u senthil
现在,验证用户是否能够执行任何管理任务 sudo
允许:
$ sudo dnf update

3.删除 sudo CentOS 中用户的权限
我们可以删除 sudo 用户的权限,而不必完全删除用户帐户。
撤销 sudo 来自用户的权限,只需运行以下命令 root
用户:
# gpasswd -d senthil wheel
样本输出:
Removing user senthil from group wheel

上述命令将删除调用的用户 "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 密码的特定命令