SDB:使用 sudo 管理

跳转到:导航搜索


使用 sudo 管理系统比使用 root 用户更安全。所有通过 sudo 运行的命令都将被记录到 /var/log/messages(可以通过 更改)。sudo 默认已安装。

准备

sudo 可能默认未安装。从命令行管理 sudo 的最简单方法是使用 yast 命令,该命令需要安装 YaST2 和 yast2-sudo 包。

安装 sudo

zypper in sudo

配置 Sudo

要为用户帐户启用 sudo 访问权限,请执行以下操作。

sudo /usr/sbin/visudo

或者在使用 GNOME 时

EDITOR=gedit gnomesu visudo

或者在使用 KDE 时

EDITOR=kate kdesu visudo

如果知道 root 密码,默认 'users' 组中的任何用户都可以运行 sudo。这将在稍后更改。使用 root 密码回复密码提示。

设置组访问权限

找到 %wheel 的条目。这是 wheel 组。'%' 告诉 sudo 在 /etc/groups 中与组名匹配。取消注释该行。

%wheel        ALL=(ALL)       ALL

保存并使用 :wq 退出(在使用 gedit 或 kate 时不需要)。

将所需的用户名添加到 wheel 组。新组在用户下次登录后生效。

sudo /usr/sbin/usermod -aG wheel username

再次编辑 sudoers 文件。这次删除允许每个用户运行 sudo 的权限。注释掉这些行,保存并退出。

#Defaults targetpw    # ask for the password of the target user i.e. root
#ALL ALL=(ALL) ALL # WARNING! Only use this together with 'Defaults targetpw'!

现在运行 sudo 时,使用用户名自己的登录密码而不是 root 密码。

在 X 中运行具有 root 权限的应用程序

如果您想运行 X 窗口程序,例如 kate 进行编辑,建议的方法是使用

 su -

成为 root 用户。或者您可以使用图形化su命令,例如

xdg-su -c

但它们的行为与su代替sudo相同。可以使用 sudo 通过编辑/usr/sbin/visudo添加DISPLAYXAUTHORITY变量到该行。

 Defaults env_keep = "LANG..."

此外,X 服务器必须设置为允许其他用户访问,使用 xhost 程序,请参阅 xhost 的手册页xhost。所有这些都会降低机器的安全性,请注意这一点。

在 GNOME 中使用用户自己的密码进行身份验证

要使用属于 wheel 组的用户密码在 GNOME 中进行身份验证,而不是 root 密码,需要编辑 polkit 规则。

首先创建默认规则文件的副本

sudo cp /usr/share/polkit-1/rules.d/50-default.rules /etc/polkit-1/rules.d/40-wheel.rules

然后修改文件,使其编号较低,以便使其优先于默认设置。找到包含

return ["unix-user:0"];

并将其更改为

return ["unix-group:wheel"];

在修复文件权限后

sudo chmod +r /etc/polkit-1/rules.d/40-wheel.rules

并重新启动机器后,GNOME 将要求用户密码来验证该用户是否是 wheel 组的一部分。