Eu li muitos tópicos sobre o gksu ser 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 algo parecido. Tenho dois exemplos em que, até onde sei, devo ter algo que me permita executar como root (não apenas para editar arquivos).
Primeiro, preciso iniciar o mysql somente depois que uma pasta criptografada for aberta no comando (GUI). Isso significa ter um script executado pelo sistema de criptografia que inicia o serviço mysql. Isso deve ser feito como root, então eu uso o gksu no script de inicialização que solicita uma senha. De que outra forma posso iniciar um serviço a partir de um sistema GUI?
Também executo backups do sistema Ubuntu como raiz, caso contrário, não será possível fazer o backup de muitos arquivos do sistema. Portanto, o arquivo da área de trabalho usa gksu para iniciar o backup.
O pkexec parece complicado, necessitando de arquivos de políticas. Essa é a única alternativa? Se sim, por que é mais segura?
Outras respostas para perguntas semelhantes parecem não abordar questões individuais que as pessoas têm agora que o gksu não existe 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 à minha própria pergunta.
pkexec
para você em vez degksu
?pkexec
. (você precisa caçá-lo)sudo -H GUI-program
e, se o Wayland houver esse link, pode ser útil, ... existem soluções alternativas, se você tiver uma ferramenta GUI, que funcione bem para você e precise de permissões elevadas.Respostas:
Eu encontrei este comando
na página abaixo:
https://sites.google.com/site/installationubuntu/home/ubuntu-17-10/alternatives-for-gksu-and-gksudo
fonte
Sei que há respostas para isso em outros lugares, mas não encontrei nenhuma delas suficientemente clara e simples para resolver esse problema. Então eu procurei em muitos lugares e pensei nisso. Ainda não entendo por que a comunidade Linux decidiu tornar a vida tão difícil para nós, usuários simples de desktop (e tentei entender muitas explicações), mas é a vida. Eu uso a GUI para quase tudo, apenas usando a janela do terminal quando necessário. Tanto quanto eu posso dizer soluções usando as opções do sudo, isso não ajuda. Portanto, tenho
.desktop
arquivos e scripts que executam todos os trabalhos que uso regularmente.Existem duas soluções básicas.
1. Reinstale
gksu
Esta solução pode ou não durar. Técnicos anti-gksu podem encontrar uma maneira de pará-lo. Mas nesse meio tempo, baixe 2
.deb
arquivos de libgksu (x64) e gksu (x64) . Instale a libgksu2 e gksu usando o gdebi ou qualquer outra ferramenta de instalação que você queira usar. Isso funcionou para mim.2. Use
pkexec
Como uma solução (espero) a longo prazo, consegui fazer com que o pkexec funcionasse para as ferramentas necessárias.
Para iniciar um serviço a partir de um script. Acontece que nem gksu nem pkexec são necessários. Apenas
start service xyz
e solicitará sua senha.Para editar arquivos raiz ou abrir o nautilus como raiz, consulte Como executar o Gedit e o Nautilus como raiz com pkexec em vez de gksu - Web Upd8 . 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 'filemanager-actions' para fornecer ações com o botão direito do mouse para executar o gedit ou nautilus como root.Eu executo o deja-dup como raiz para backups do sistema principal. Faço isso com pouca frequência, excluindo
/home
(pois/home
faço backups frequentes que não precisam de acesso root). Para fazer isso funcionar, tirei uma cópia do arquivo usado na etapa 2 do gedit e editei-o para o deja-dup. Eu realmente não entendo o conteúdo, mas funciona, tanto para backups quanto para restaurar arquivos, usandopkexec backup
em um script iniciado a partir de um arquivo .desktop. Eu adicionei este novo arquivo para/usr/share/polkit-1/actions
conter:Observe que há outro arquivo deja-dup neste diretório, que alega ajudar na restauração de arquivos, mas não consegui fazê-lo funcionar. Esse novo arquivo precisa ter um nome exclusivo, como
org.gnome.DejaDupNew.policy
.Por enquanto, estou correndo sem o gksu. Vou tentar continuar ...
fonte
pkexec deja-dup
para mim, depois de adicionar o arquivo como você descreveu. A caixa de diálogo permite que eu escolha as configurações primeiro, o que é ótimo./usr/share/polkit-1/actions
foi realmente o caminho para criar um iniciador de área de trabalho compkexec
permissões elevadas . Aqui está outro exemplo .O Nautilus Admin ( nautilus-admin ) é uma extensão simples do Python para o gerenciador de arquivos do Nautilus que adiciona algumas ações administrativas ao menu do botão direito do mouse:
Para instalar o Nautilus Admin em todas as versões atualmente suportadas do Ubuntu, abra o terminal e digite:
Testei todas as alternativas ao gksu na 18.04 para outras aplicações além do Files e Gedit, e a que parece funcionar de maneira mais consistente é:
pkexec
é o melhor substituto para o gksu quando funciona porque oferece maior segurança, mas é muito inconsistente em aplicativos diferentes (por exemplo, não funciona com o Gedit) e pode causar falhas em alguns aplicativos.sudo -i
é desnecessariamente difícil de gerenciar porque eleva seus privilégios de root por um longo período de tempo, quando você só precisa ser root para executar um único comando.fonte
Eu uso um script chamado
sgedit
que herda as preferências do usuário para fonte, guias e extensões. Ele usa emsudo -H gedit
vez degksu gedit
estabilidade no ambiente da GUI. Solicita uma senha.Tem
sudo
herdar sua conta de usuáriogedit
configuraçõesNeste exemplo, as configurações do usuário para nome da fonte, tamanho da fonte, paradas de tabulação, converter guias em espaços, destaque de 80 colunas e barra deslizante de miniaturas do lado direito foram herdadas por
sudo
.Com o regular,
sudo -H gedit
você não pode fazer nem salvar essas configurações. Com o script abaixo,sgedit
as configurações são herdadas da sua conta de usuário.Esse script também aborda os problemas "
gksu
está ruim e não está instalado por padrão" e "pkexec
é difícil de configurar".fundo
Fui incomodado pelo mesmo problema há anos. O projeto deste fim de semana foi escrever o
sgedit
roteiro:sgedit filename1 filename2...
sudo -H
preservar a propriedade do arquivo enquanto obtém poderes de root.gsettings set
apenas as diferenças (reduz 174set
comandos para uma dúzia ou menos. Da próxima vez que executar, talvez apenas uma ou duas alterações, mas muitas vezes nenhuma).Script Bash
sgedit
Serviço de limpeza
Copie o script bash acima para um novo arquivo chamado
sgedit
. Eu recomendo colocá-lo em seu$HOME/bin
diretório, ie/home/YOURNAME/bin
. Você pode ter que criar o diretório primeiro.Marque o arquivo como executável usando:
Nota
~
é um atalho para/home/YOURNAME
.fonte
Ubuntu 18.04: Alguns programas de instalação e outros precisam que o gksudo ou o gksu esteja disponível com o mesmo nome. Para fazer isso funcionar:
Instale a versão gnome do
ssh-askpass
. Sem isso, o diálogo de senha pode estar oculto atrás de outra janela:Crie um novo arquivo
my-gksudo.sh
:conteúdo do arquivo:
Crie novos arquivos gksudo e gksu com conteúdo idêntico:
e
conteúdo do arquivo para ambos:
Torne gksudo e gksu executável:
E
Reinicie o computador.
fonte