sudo kate
例如,当我使用 kubuntu 时,我总是可以使用 sudo 打开 X 应用程序。现在我已经切换到 arch 不起作用了。我知道我一直被告知要使用 kdesu,但是 kubuntu 中的哪些设置允许我在 X 应用程序上使用 sudo,从而阻止我在 arch 上执行此操作?
编辑:
对不起,我做了我自己最讨厌的事情>_<
这就是我想做的:
[falmarri@falmarri-z-arch 下载]$ sudo kate 密码: 未指定协议 凯特:无法连接到 X 服务器:0.0
请注意,这只是使用 konsole 的常规终端会话,我没有使用 SSH
/etc/sudoers:
## sudoers 文件。 ## ## 该文件必须以 root 身份使用“visudo”命令进行编辑。 ## 未能使用 'visudo' 可能会导致语法或文件权限错误 ## 阻止 sudo 运行。 ## ## 有关如何编写 sudoers 文件的详细信息,请参阅 sudoers 手册页。 ## ## ## 主机别名规范 ## ## 机器组。这些可能包括主机名(可选地带有通配符), ## IP 地址、网络号或网络组。 # Host_Alias WEBSERVERS = www1, www2, www3 ## ## 用户别名规范 ## ## 用户组。这些可能包括用户名、uid、Unix 组、 ## 或网络组。 # 用户别名 ADMINS = millert、dowdy、mikef ## ## Cmnd 别名规范 ## ## 命令组。通常用于将相关命令组合在一起。 # Cmnd_Alias PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \ # /usr/bin/pkill, /usr/bin/top ## ## 默认规范 ## ## 您可能希望保留以下一些环境变量 ## 通过 sudo 运行命令时。 ## ## 区域设置 # 默认值 env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET" ## ## 通过 sudo 运行 X 应用程序; HOME 用于查找 ## .Xauthority 文件。请注意,其他程序使用 HOME 来查找 ## 配置文件,这可能会导致权限升级! 默认值 env_keep += "HOME" ## ## X11资源路径设置 默认值 env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH" ## ## 桌面路径设置 默认值 env_keep += "QTDIR KDEDIR" ## ## 允许 sudo-run 命令继承调用者的 ConsoleKit 会话 # 默认值 env_keep += "XDG_SESSION_COOKIE" ## ## 取消注释以启用特殊输入法。应注意 ## 这可能允许用户破坏通过 sudo 运行的命令。 默认值 env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER" ## ## 取消注释以启用命令输出的日志记录,除了 ## sudo 重播并重新启动。使用 sudoreplay 回放记录的会话。 # 默认日志输出 # 默认值!/usr/bin/sudoreplay !log_output # 默认值!/usr/local/bin/sudoreplay !log_output # 默认值!/sbin/reboot !log_output ## ## Runas 别名规范 ## 默认值:falmarri timestamp_timeout=10 ## ## 用户权限规范 ## 根全部=(全部)全部 ## 取消注释以允许组wheel的成员执行任何命令 %wheel 全部=(全部) 全部 ## 没有密码也一样 # %wheel ALL=(ALL) NOPASSWD: ALL ## 取消注释以允许 sudo 组的成员执行任何命令 # %sudo ALL=(全部) 全部 ## 取消注释以允许任何用户在知道密码的情况下运行 sudo ## 他们运行命令的用户(默认为 root)。 # 默认值 targetpw # 询问目标用户的密码 # ALL ALL=(ALL) ALL # 警告:只能与“Defaults targetpw”一起使用 ## 从 /etc/sudoers.d 读取嵌入式文件 ##(这里的“#”不代表注释) #includedir /etc/sudoers.d
答案1
图形程序不应使用 sudo 运行。正确的方法是kdesudo
在 KDE 中以 root 身份运行 GUI 程序,或者在 GNOME 中使用gksu
。
以 root 身份运行图形程序可能会导致严重问题,这就是提供包装器的原因。读这个 Arch 邮件列表主题sudo
对于试图欺骗启动 GUI 应用程序时可能遇到的严重问题。
答案2
这看起来像是 Arch Linux 中的有意配置。看到这个进行讨论并提供解决方案链接。
最好的提示似乎是将“DISPLAY XAUTHORITY”添加到/etc/sudoers
.
Fedora 有/etc/sudoers
以下内容,这使得 sudo somexapp 能够成功。
Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS"
Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"