已编辑 5 几个月前 通过 ExtremeHow 编辑团队
翻译更新 5 几个月前
获取 sudo 权限允许用户以另一个用户的安全特权执行命令,通常是超级用户或 root。这对于系统管理和在 Fedora 等 Linux 发行版上的日常操作非常重要。本文提供了在 Fedora 上启用和配置 sudo 权限的详细指南,步骤清晰,并强调安全性。
Sudo 是 "superuser do" 的缩写,是一个程序,允许可信用户以另一个用户(默认为超级用户)的身份运行程序。使用 sudo 而不是以 root 用户身份登录提供了额外的安全层,因为它减少了意外系统范围内更改的可能性。
使用 sudo 有几个原因:
在开始配置 sudo 权限之前,请确保您:
以下是如何为 Fedora 中的用户启用和配置 sudo 权限。此过程涉及编辑用户组,并确保您选择的用户具有有效使用 sudo 的适当权限。
首先,您需要以 root 用户身份登录到系统,或使用已经具有 sudo 权限的现有用户。这是必要的,因为没有正确的权限无法更改用户权限。
su -
`su -` 命令允许您切换到 root 帐户。或者,如果您的 Fedora 版本支持,您可以直接访问已经启用了 root 权限的终端会话(如果当前用户具有 sudo 访问权限):
sudo -i
虽然现在大多数 Fedora 安装默认已经安装了 sudo,但您可以使用以下命令进行验证和安装。
dnf install sudo
此命令确保您的 Fedora 系统上存在 sudo 包。
位于 `/etc/sudoers` 目录的 sudoers 文件控制哪个用户和组具有 sudo 访问权限。如果此文件处理不当,直接编辑可能导致严重错误。建议使用 visudo
实用程序,它允许安全编辑该文件,并防止多次同时编辑。
以 root 或具有 sudo 权限的用户身份,使用 visudo 打开 sudoers 文件:
visudo
此命令将 `/etc/sudoers` 文件加载到文本编辑器中。
# User privilege specification
或类似行。此行下添加如下条目:
username ALL=(ALL) ALL
将 username
替换为您要给予 sudo 访问权限的实际用户名。此行表示该用户可以在任何主机 (ALL) 上以任何用户 (ALL) 身份执行任何命令 (ALL),前提是他们有密码。
例如,如果您的 Fedora 用户名为 alice
,您将键入:
alice ALL=(ALL) ALL
如果您使用普通文本编辑器,如 vi(visudo 默认状态下),退出时按 Esc
,然后键入 :wq
并按 Enter
以保存更改并退出。visudo 实用程序将执行语法检查,以确保您的更改没有格式错误。如果发现错误,它会通知您,并保留备份行为以从错误中恢复。
退出您的 root 用户或切换到您想要测试配置的用户。以普通用户(例如,此处的 Alice)身份登录后,运行带 sudo 的命令:
sudo whoami
成功输入和操作后,输出应为 root
。这确认了用户已经获得 sudo 权限。
Fedora 的 sudo 配置提供了灵活性,可以创建个性化的访问控制。以下是一些可以使用的高级配置:
要求输入密码可以提高安全性,但对于某些受信任的用户,允许某些命令无需检查密码可能会很方便:
username ALL=(ALL) NOPASSWD: /usr/bin/apt-get update
以上示例允许您在不输入 username
密码的情况下运行 apt-get update
。
通过指定特定的命令路径,将用户限制为特定命令:
username ALL=(ALL) /usr/bin/systemctl restart apache2
通过从特定文件中包含配置,避免使 sudoers 文件混乱:
@include /etc/sudoers.d/username
每个用户都可以在 `/etc/sudoers.d/` 下拥有一个配置文件,并定义个人权限。
有效使用 sudo 可以显著改善您的 Fedora 系统上的安全模型,同时保持操作的灵活性。遵循本指南将确保您为负责任地管理 sudo 权限奠定良好的基础。高级用户可以进一步完善配置,以安全地实现管理任务的自动化和简化。
永远记住,巨大的权力伴随着巨大的责任,特别是在 IT 管理中,配置不当的 sudo 权限可能导致系统漏洞。
无论您是系统管理员、开发人员还是好奇的初学者,了解正确处理 sudo 配置的方法是提高您在 Linux 系统管理中的熟练程度的重要一步。
如果你发现文章内容有误, 您可以