Solicitar senha sudo em vez de fornecer erro de acesso

4

Posso configurar o Fedora 22 para que qualquer coisa que precise de privilégios de root peça uma senha, em vez de dar um erro, e precisar que eu seja executado novamente com o sudo? Eu nem me importo de ter que digitar minha senha toda vez, sem o timer de alguns minutos (ou seja o que for) para o qual ela se lembra da senha.

i.e. Em vez de:

$ dnf history
You don't have access to the history DB.

Seria:

$ dnf history
[sudo] password for <username>:

Acho que alguns dos aplicativos gui fazem isso, como o frontend gui yum quando eu o instalei.

Estou a pensar que não ... Que caberia a cada aplicação implementar isto. Mas, espero que seja possível que os aplicativos digam que o privilégio raiz é necessário, e pode haver alguma forma de o kernel (ou qualquer outro lugar) permanecer em um estágio de entrada de bloqueio (para a senha) antes de retornar se o usuário acesso.

    
por user1902689 31.05.2015 / 05:05

2 respostas

6

Você pode usar o script python thefuck disponível no github . Este script foi projetado para corrigir o último comando incorretamente executado em alguns casos de uso e esquecer de usar sudo é um deles.

De seus exemplos:

➜ apt-get install vim
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

➜ fuck
sudo apt-get install vim
[sudo] password for nvbn:
Reading package lists... Done

Esse comportamento é da regra sudo que você pode ativar:

sudo – prepends sudo to previous command if it failed because of permissions;

Se isso não funcionar na caixa de dnf , deve ser fácil criar uma regra personalizada para isso.

    
por 01.06.2015 / 23:17
5

Um substituto simples seria identificar os comandos que você executa que (sempre) exigem privilégio e alias:

alias dnf="sudo dnf"
  ⋮     ⋮     ⋮

Eu aconselharia não fazer isso para todos os comandos que você usa; especialmente aqueles que não podem causar danos (por exemplo, cp , mv e rm ). Na verdade, eu pessoalmente não faria isso por coisas como ls ; se eu não estou rodando como root, eu acho que é certo e apropriado que ls -l /root deve falhar. Um caso poderia ser feito para fazer isso por find , mas lembre-se de que qualquer programa executado com -exec herda os privilégios de superusuário com os quais find está sendo executado.

    
por 31.05.2015 / 07:37