我已经阅读了很多关于 gksu 从许多 Linux 版本中删除的主题,包括 Ubuntu 18.04。许多人表示 gksu 是一种令人憎恶的东西,任何用户都不需要使用类似的东西。我有 2 个例子,据我所知,我必须有一些东西可以让我以 root 身份运行(不仅仅是为了编辑文件)。
首先,只有在(GUI)命令上打开加密文件夹后,我才需要启动 mysql。这意味着让启动 mysql 服务的加密系统运行一个脚本。这必须以 root 身份完成,所以我在那个要求我输入密码的启动脚本中使用 gksu。我还能如何从 GUI 系统启动服务?
我也以root身份运行Ubuntu系统备份,否则很多系统文件无法备份。所以桌面文件使用 gksu 开始备份。
pkexec 看起来很复杂,需要策略文件。这是唯一的选择吗,如果是,为什么它更安全?
类似问题的其他答案似乎并没有解决人们现在 gksu 不再存在(或更难找到......)的个人问题。我认为来自非专家用户的此类问题将从更详细的答案中受益。我现在有一些,所以想回答我自己的问题。
Gab*_*val 37
我找到了这个命令
alias gksu='pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY'
Run Code Online (Sandbox Code Playgroud)
在这个页面
运行别名命令后:
gksu /path/to/script.sh
Run Code Online (Sandbox Code Playgroud)
它会像往常一样要求您输入密码。
您需要将别名添加到末尾,~/.bashrc
以便在重新启动时保持 gksu 命令的持久性。
pas*_*tim 10
我知道据说在其他地方有答案,但我没有发现其中任何一个清晰和简单,足以让我解决这个问题。所以我在很多地方挖掘并想出了这个。我仍然不明白为什么 Linux 社区决定让我们这些简单的桌面用户过得如此艰难(我试图理解许多解释),但这就是生活。我几乎在所有事情上都使用 GUI,仅在必要时使用终端窗口。据我所知,使用 sudo 选项的解决方案对此没有帮助。所以我有.desktop
文件和脚本来完成我经常使用的所有工作。
有两种基本的解决方案。
gksu
这种解决方案可能会也可能不会持续。反 gksu 技术人员可能会找到一种方法来阻止它。但同时,.deb
从libgksu (x64)和gksu (x64)下载 2 个文件。使用 gdebi 或您喜欢使用的任何安装工具安装 libgksu2,然后安装 gksu。这对我有用。
pkexec
作为(希望如此)长期解决方案,我设法让 pkexec 为我需要的工具工作。
从脚本启动服务。事实证明,既不需要 gksu 也不需要 pkexec。只是start service xyz
,它会询问您的密码。
要编辑根文件,或以 root 身份打开 nautilus,请参阅如何使用 pkexec 而不是 gksu - Web Upd8 以 Root 身份运行 Gedit 和 Nautilus。这为 pkexec 提供了两个“polkit”文件,允许您使用包含pkexec gedit
编辑根文件的脚本,对于 nautilus 也是如此。说明都在那个网页上。我现在使用“filemanager-actions”来提供右键单击操作来以 root 身份运行 gedit 或 nautilus。
我以 root 身份运行 deja-dup 以备份核心系统。我很少这样做,不包括/home
(因为/home
我经常做不需要 root 访问的备份)。为了让它工作,我为 gedit 复制了第 2 步中使用的文件,并为 deja-dup 编辑了它。我不太了解内容,但它确实适用于备份和恢复文件,pkexec backup
在从 .desktop 文件启动的脚本中使用。我将这个新文件添加到/usr/share/polkit-1/actions
包含:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD polkit Policy Configuration 1.0//EN" "http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
<policyconfig>
<icon_name>deja-dup</icon_name>
<action id="org.gnome.DejaDup">
<description gettext-domain="deja-dup">Backup</description>
<message gettext-domain="deja-dup">Privileges are required to backup system files</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/deja-dup</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>
Run Code Online (Sandbox Code Playgroud)
请注意,此目录中还有另一个 deja-dup 文件,它声称有助于恢复文件,但我无法使其正常工作。这个新文件需要有一个唯一的名称,例如org.gnome.DejaDupNew.policy
.
我现在在没有 gksu 的情况下运行。我会努力继续……
Nautilus Admin ( nautilus-admin ) 是 Nautilus 文件管理器的一个简单 Python 扩展,它向右键菜单添加了一些管理操作:
要在所有当前支持的 Ubuntu 版本中安装 Nautilus Admin,请打开终端并输入:
sudo apt install nautilus-admin
Run Code Online (Sandbox Code Playgroud)
我已经在 18.04 中测试了除 Files 和 Gedit 之外的其他应用程序中 gksu 的所有替代方案,其中似乎工作最一致的是:
sudo -H应用程序名&>/dev/null
pkexec
是 gksu 工作时的最佳替代品,因为它提供了更高的安全性,但它在不同的应用程序之间非常不一致(例如它不能与 Gedit 一起使用),并且可能导致某些应用程序崩溃。sudo -i
管理起来不必要地困难,因为当您只需要成为 root 来运行单个命令时,它会在很长一段时间内将您的权限提升为 root。
归档时间: |
|
查看次数: |
43941 次 |
最近记录: |