Eu preciso de um equivalente de gksu em 18.04

6

Eu li um monte de tópicos sobre o gksu sendo removido de muitos tipos de linux, incluindo o Ubuntu 18.04. Muitos afirmam que o gksu é uma abominação e nenhum usuário deve precisar usar nada parecido. Eu tenho 2 exemplos onde, tanto quanto eu sei, devo ter algo que me permite executar como root (não apenas para edição de arquivos).

Primeiro, eu preciso iniciar o mysql somente depois que uma pasta criptografada é aberta no comando (GUI). Isso significa ter um script executado pelo sistema de criptografia que inicia o serviço mysql. Isso tem que ser feito como root, então eu uso o gksu no script de inicialização que me pede uma senha. Como mais posso iniciar um serviço a partir de um sistema GUI?

Eu também executo backups do sistema Ubuntu como root, caso contrário, muitos arquivos de sistema não podem ser salvos em backup. Assim, o arquivo da área de trabalho usa o gksu para iniciar o backup.

O pkexec parece complicado, precisando de arquivos de políticas. É a única alternativa e, em caso afirmativo, por que é mais seguro?

Outras respostas para questões semelhantes não parecem abordar questões individuais que as pessoas têm agora que o gksu não é mais (ou mais difícil de encontrar ...). Acho que essas perguntas de usuários não especialistas se beneficiariam de respostas mais detalhadas. Agora tenho algumas e gostaria de responder a minha própria pergunta.

    
por pastim 31.05.2018 / 17:26

3 respostas

4

Eu sei que dizem que existem respostas para isso em outro lugar, eu não encontrei nenhuma delas clara e simples o suficiente para eu resolver esse problema. Então eu procurei em muitos lugares e descobri isso. Eu ainda não entendo porque a comunidade linux decidiu tornar a vida tão difícil para nós usuários simples de desktop (e eu tentei entender muitas explicações), mas isso é vida. Eu uso o gui para praticamente tudo, usando apenas a janela do terminal quando necessário. Tanto quanto eu posso dizer soluções usando opções de sudo não ajudam com isso. Então eu tenho arquivos .desktop e scripts que fazem todos os trabalhos que eu uso regularmente.

Existem duas soluções básicas.

  1. Reinstale o gksu. Esta solução pode ou não durar. Técnicos anti-gksu podem encontrar uma maneira de pará-lo. Mas, enquanto isso, baixe 2 arquivos .deb de link e link . Instale o libgksu2 e depois o gksu usando o gdebi ou qualquer ferramenta de instalação que você goste de usar. Isso funcionou para mim.

  2. Como uma solução (esperançosamente) de longo prazo, consegui que o pkexec funcionasse para as ferramentas de que preciso.

a) Para iniciar um serviço a partir de um script. Acontece que nem o gksu nem o pkexec são necessários. Apenas "inicie o serviço xyz" e ele solicitará sua senha.

b) Para editar arquivos raiz, ou para abrir o nautilus como root, veja link . Isso fornece dois arquivos "polkit" para o pkexec, que permitem usar um script contendo "pkexec gedit" para editar um arquivo raiz e, da mesma forma, para o nautilus. As instruções estão todas nessa página da web. Agora estou usando as "ações do gerenciador de arquivos" para fornecer ações com o botão direito para executar o gedit ou o nautilus como root.

c) Eu executo o deja-dup como root para backups do sistema principal. Eu faço isso com pouca frequência, excluindo / home (para / home eu faço backups frequentes que não precisam de acesso root). Para fazer isso funcionar, peguei uma cópia do arquivo usado na etapa 2 para o gedit e o editei para o deja-dup. Eu realmente não entendo o conteúdo, mas funciona, tanto para backups quanto para restaurar arquivos, usando o 'pkexec backup' em um script iniciado a partir de um arquivo .desktop. Eu adicionei este novo arquivo em / usr / share / polkit-1 / actions contendo:

<?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>

Observe que há outro arquivo de deja-dup neste diretório, que afirma ajudar na restauração de arquivos, mas não consegui descobrir como fazer isso funcionar. Este novo arquivo precisa ter um nome exclusivo, como "org.gnome.DejaDupNew.policy".

Eu estou, por enquanto, correndo sem o gksu. Vou tentar continuar ....

    
por pastim 02.06.2018 / 18:41
3

Encontrei este comando alias gksu='pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY' na página abaixo      link

    
por Gabriel Sandoval 21.08.2018 / 06:32
2

Nautilus Admin ( nautilus-admin ) é uma extensão Python simples para o gerenciador de arquivos Nautilus que adiciona algumas ações administrativas ao menu do botão direito do mouse:

  • Abrir como administrador: abre uma pasta em uma nova janela do Nautilus em execução com privilégios de administrador (raiz).
  • Editar como administrador: abre um arquivo em uma janela do Gedit em execução com privilégios de administrador (root).

Para instalar o Nautilus Admin em todas as versões atualmente suportadas do Ubuntu, abra o terminal e digite:

sudo apt install nautilus-admin

Eu testei todas as alternativas para o gksu em 18.04 para outras aplicações além de arquivos e Gedit, e o que parece funcionar da forma mais consistente é:

sudo -H appname &>/dev/null

pkexec é o melhor substituto para o gksu quando funciona, pois fornece maior segurança, mas é muito inconsistente em diferentes aplicativos e pode causar falhas em alguns aplicativos. sudo -i é desnecessariamente difícil de gerenciar porque eleva seus privilégios para root por um longo período de tempo em que você só precisa ser root para executar um único comando.

    
por karel 02.06.2018 / 01:35