在18.04我需要相当于gksu

我已经阅读了很多关于gksu被从许多linux风格中删除的线程,包括ubuntu 18.04。 许多人说gksu是令人厌恶的,任何用户都不需要使用类似的东西。 我有两个例子,据我所知,我必须有一些允许我以root身份运行的东西(不仅仅是编辑文件)。

首先,我需要在(GUI)命令上打开加密文件夹后启动mysql。 这意味着由启动mysql服务的加密系统运行脚本。 这必须以root身份完成,所以我在启动脚本中使用gksu,它要求我输入密码。 我怎样才能从GUI系统启动服务?

我还以root身份运行ubuntu系统备份,否则无法备份许多系统文件。 因此桌面文件使用gksu来启动备份。

pkexec看起来很复杂,需要策略文件。 这是唯一的选择,如果是这样,为什么它更安全?

类似问题的其他答案似乎并没有解决人们现在认为gksu不再(或更难找到……)的个别问题。 我认为来自非专家用户的这些问题将从更详细的答案中受益。 我现在有一些,所以想回答我自己的问题。

我知道据说其他地方有这个答案,我还没有找到任何清楚和简单的方法来解决这个问题。 所以我在很多地方挖了一下,想出了这个。 我仍然不明白为什么linux社区决定让我们的简单桌面用户生活如此艰难(我试图理解很多解释),但这就是生活。 我只使用gui来处理所有事情,只在必要时使用终端窗口。 据我所知,使用sudo选项的解决方案对此没有帮助。 所以我有.desktop文件和脚本来完成我经常使用的所有工作。

有两种基本解决方案。

  1. 重新安装gksu。 该解决方案可能持续也可能不持续。 反gksu技术人员可能会找到一种方法来阻止它。 但与此同时,请从http://security.ubuntu.com/ubuntu/pool/universe/libg/libgksu/libgksu2-0_2.0.13~pre1-9ubuntu2_amd64.deb和http:// security下载2个.deb文件。 ubuntu.com/ubuntu/pool/universe/g/gksu/gksu_2.0.2-9ubuntu1_amd64.deb 。 使用gdebi或您喜欢的任何安装工具安装libgksu2然后使用gksu。 这对我有用。

  2. 作为(希望)长期解决方案,我设法让pkexec为我需要的工具工作。

a)从脚本启动服务。 事实certificate,既不需要gksu也不需要pkexec。 只需’开始服务xyz’,它就会要求您输入密码。

b)要编辑根文件,或以root身份打开nautilus,请参阅http://www.webupd8.org/2015/03/how-to-run-gedit-and-nautilus-as-root.html 。 这为pkexec提供了两个’polkit’文件,允许你使用包含’pkexec gedit’的脚本来编辑根文件,对于nautilus也是如此。 说明都在该网页上。 我现在正在使用’filemanager-actions’来提供右键单击操作,以root身份运行gedit或nautilus。

c)我以root身份运行deja-dup来备份核心系统。 我很少这样做,不包括/ home(对于/ home我经常进行不需要root访问的备份)。 为了实现这一点,我将第2步中使用的文件副本用于gedit,并将其编辑为deja-dup。 我真的不了解内容,但它在备份和恢复文件方面都有效,在.desktop文件启动的脚本中使用“pkexec backup”。 我将这个新文件添加到/ usr / share / polkit-1 / actions包含:

    deja-dup  Backup Privileges are required to backup system files  no auth_admin auth_admin  /usr/bin/deja-dup true   

请注意,此目录中还有另一个deja-dup文件,它声称可以帮助恢复文件,但我无法弄清楚如何让它工作。 这个新文件需要有一个唯一的名称,例如’org.gnome.DejaDupNew.policy’。

我现在正在没有gksu的情况下运行。 我会试着继续……

我在下面的页面中找到了这个命令alias gksu='pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY' ://sites.google.com/site/installationubuntu/home/ubuntu-17-10/alternatives-for-gksu -and-gksudo

Nautilus Admin( nautilus-admin )是Nautilus文件管理器的简单Python扩展,它向右键单击菜单添加了一些管理操作:

  • 以管理员身份打开:在以管理员(root)权限运行的新Nautilus窗口中打开文件夹。
  • 以管理员身份编辑:在具有管理员(root)权限的Gedit窗口中打开文件。

要在所有当前支持的Ubuntu版本中安装Nautilus Admin,请打开终端并键入:

 sudo apt install nautilus-admin 

我已经在18.04测试了gksu的所有替代品,除了文件和Gedit以外的其他应用程序,并且似乎最一致的工作是:

  sudo -H appname &> / dev / null 

pkexec是gksu工作的最佳替代品,因为它提供了更高的安全性,但它在不同的应用程序中非常不一致,并且可能导致某些应用程序崩溃。 sudo -i不必要地管理,因为当你只需要root用户运行单个命令时,它会将你的权限提升到root一段时间。