如何在 CentOS 7 上将用户添加到 Sudoers 并将用户添加到 Sudo 组
如果您是 CentOS 7 的新手,您要做的第一件事就是了解如何将用户添加到 sudoers 文件和 sudo 组。这将为他们提供提升的权限,并允许他们以根级权限运行命令。在本文中,我们将逐步引导您完成该过程。
须藤是什么?
在开始之前,我们先来谈谈 sudo 是什么以及它为何如此重要。 Sudo 代表“超级用户 do”,是一个允许用户以管理权限执行任务的命令。默认情况下,在 CentOS 7 上只有 root 用户拥有这些权限,但是使用 sudo,我们也可以授予某些用户执行管理任务的能力。
什么是 Sudoers 文件?
sudoers 文件是一个配置文件,用于控制谁有权访问 sudo 以及允许他们执行哪些操作。它位于 /etc/sudoers 并使用 visudo 命令进行编辑。编辑 sudoers 文件时,一定要小心并确保不犯任何错误,这一点很重要。拼写错误或语法错误可能导致文件无法使用,从而导致严重问题。
将用户添加到 Sudo 组
授予用户 sudo 权限的最简单方法是将他们添加到 sudo 组。下面是如何做到这一点 -
第 1 步:以 root 身份登录
要将用户添加到 sudo 组,您需要以 root 用户身份登录。如果您尚未以 root 身份登录,则可以通过键入“su”并输入 root 密码来切换到 root 用户。
步骤 2:将用户添加到 Sudo 组
要将用户添加到 sudo 组,您将使用 usermod 命令。这是语法 -
usermod -aG sudo username
将“用户名”替换为要添加到 sudo 组的用户的名称。 “-a”标志告诉 usermod 将用户附加到组中,而不是替换任何现有的组成员身份。
这是一个例子
usermod -aG sudo john
此命令将用户“john”添加到 sudo 组。
步骤 3:验证用户的 Sudo 访问权限
要验证用户是否具有 sudo 访问权限,您可以切换到他们的帐户并尝试使用 sudo 运行命令。例如,您可以尝试使用 sudo 运行“whoami”命令 -
sudo whoami
这将提示您输入密码,如果一切正常,则返回“root”。
将用户添加到 Sudoers 文件
如果您不想将用户添加到 sudo 组,也可以直接将其添加到 sudoers 文件中。下面是如何做到这一点 -
第 1 步:以 root 身份登录
与将用户添加到 sudo 组一样,您需要以 root 身份登录才能编辑 sudoers 文件。
步骤 2:编辑 Sudoers 文件
要编辑 sudoers 文件,您将使用 visudo 命令。此命令在文本编辑器中打开 sudoers 文件,并在保存更改之前检查语法是否有错误。要将用户添加到 sudoers 文件中,您需要添加以下格式的行 -
username ALL=(ALL) ALL
将“用户名”替换为您要添加的用户的名称。此行授予用户使用 sudo 运行任何命令的权限。
这是一个例子
john ALL=(ALL) ALL
此行授予用户“john”使用 sudo 运行任何命令的权限。
第 3 步:保存更改
编辑完 sudoers 文件后,保存更改并退出文本编辑器。如果您使用的是 nano 编辑器,则可以按 Ctrl+O 保存更改,然后按 Ctrl+X 退出。如果您使用的是 vim,则可以通过键入“:wq”并按 Enter 来保存更改。
步骤 4:验证用户的 Sudo 访问权限
要验证用户是否具有 sudo 访问权限,请切换到其帐户并尝试使用 sudo 运行命令。例如,您可以尝试使用 sudo 运行“whoami”命令 -
sudo whoami
这将提示您输入密码,如果一切正常,则返回“root”。
故障排除
如果您在将用户添加到 sudo 组或 sudoers 文件时遇到问题,请检查以下几点 -
确保您以 root 身份登录
您需要以 root 用户身份登录才能更改 sudoers 文件或将用户添加到 sudo 组。如果您没有以 root 身份登录,请输入“su”,然后输入 root 密码,切换到 root 用户。
检查 Sudoers 文件的语法
sudoers 文件具有非常严格的语法,即使是一个小错误也可能导致它无法使用。使用 visudo 命令检查文件的语法是否有错误。
检查Sudoers文件的权限
sudoers 文件应具有以下权限:-r--r----- (440)。如果权限不同,您可以使用以下命令设置它们 -
chmod 440 /etc/sudoers
在 CentOS 7 上将用户添加到 sudoers 文件或 sudo 组时要记住的一些其他提示和最佳实践包括 -
限制具有 Sudo 访问权限的用户数量
拥有 sudo 访问权限的用户越多,有人犯错误或故意对系统造成损害的风险就越大。仅向真正需要其工作职责的用户授予 sudo 访问权限。
使用组来管理 Sudo 访问
不要将单个用户添加到 sudoers 文件中,而是考虑创建具有特定 sudo 权限的组并将用户添加到这些组中。这使得管理多个用户的 sudo 访问变得更加容易,并降低了编辑 sudoers 文件时出错的风险。
谨慎使用“NOPASSWD”选项
“NOPASSWD”选项允许用户无需输入密码即可运行 sudo 命令,这对于经常使用的命令来说非常方便。但是,如果未经授权的用户获得对用户帐户的访问权限或系统受到威胁,这也可能会带来安全风险。仅对无需密码即可安全运行的命令使用“NOPASSWD”选项。
审核 Sudo 访问
通过启用 sudo 访问日志记录来跟踪用户使用 sudo 命令的时间和频率。这可以帮助您识别潜在的安全问题并审核对公司政策的遵守情况。
将用户添加到 sudoers 文件或 sudo 组时要考虑的另一个重要方面是确保用户的密码强大且不易被猜测。弱密码可能是主要的安全风险,因为它们很容易被猜到或破解,从而允许未经授权的访问系统。鼓励用户使用强而独特的密码,并考虑使用密码管理器来生成和存储复杂的密码。
定期检查具有 sudo 访问权限的用户并确保他们的访问权限仍然是必要的也是一个很好的做法。不再需要 sudo 访问权限的用户应从 sudo 组或 sudoers 文件中删除,以降低未经授权访问系统的风险。
最后,让 CentOS 7 系统保持最新的安全补丁和更新也很重要。 sudo 软件本身可以发现漏洞,安装最新更新有助于防止这些漏洞被利用。
结论
将用户添加到 sudoers 文件或 sudo 组是保护 CentOS 7 服务器安全的重要一步。通过授予某些用户管理权限,您可以委派任务并减少因向每个人授予完全 root 访问权限而导致错误或事故的可能性。请务必在更改 sudoers 文件时务必小心,并在保存之前仔细检查语法。