一个 "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 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 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
这里, -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 密码运行特定命令
LinuxLinux基础Linux命令sudo用户管理用户权限