SDB:使用 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添加DISPLAY和XAUTHORITY变量到该行。
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 组的一部分。