O que você está pedindo sons factíveis, combinando a opção -A
de sudo
e o programa gnome-keyring-query
.
Basicamente, se você usar a opção -A
, em vez de ler a senha de stdin, sudo
lerá a senha de um programa externo que você pode especificar com a variável de ambiente SUDO_ASKPASS
.
Este programa externo pode ser gnome-keyring-query
, uma ferramenta de linha de comando para armazenar / obter senhas de gnome-keyring
. Aqui está a ajuda de gnome-keyring-query
:
Usage:
gnome-keyring-query <mode> <name>
Parameters:
mode - either 'get' or 'set' (without quotes)
name - a name to identify the key
Notes:
If mode is 'get', then the password is dumped to stdout.
If mode is 'set', then the password is read from stdin.
Aqui está como você pode prosseguir (eu apenas tentei, funciona).
- Instalar gnome-keyring-query (Você terá que compilá-lo se não for empacotado pela sua distro - > upstream URL )
- Salve sua senha sudo no gnome-keyring
- Você deve conseguir recuperar a senha do chaveiro com algo como:
gnome-keyring-query get sudo
- Salve esse comando como um script (por exemplo, em / usr / bin / sudo_askpass) e verifique se ele é executável com chmod
-
export SUDO_ASKPASS=/usr/bin/sudo_askpass
- Use
sudo -A
em vez de sudo.
Dito isto, esteja ciente de que se você salvar sua senha no chaveiro e deixar este chaveiro aberto, qualquer um pode ler sua senha sudo com muita facilidade, usando esta ferramenta de consulta do chaveiro do gnome, ou simplesmente lançando cavalos-marinhos. Portanto, tenha muito cuidado.