Puoi chiedere la password tramite il prompt della GUI con l'aiuto di -A, --askpass
.
Dalla manpage:
-A, --askpass
Normally, if sudo requires a password, it will read it from the user's terminal. If the -A
(askpass) option is specified, a (possibly graphical) helper program is executed to read the user's
password and output the password to the standard output. If the SUDO_ASKPASS environment variable
is set, it specifies the path to the helper program. Otherwise, if sudo.conf(5) contains a line
specifying the askpass program, that value will be used. For example:
# Path to askpass helper program
Path askpass /usr/X11R6/bin/ssh-askpass
If no askpass program is available, sudo will exit with an error.
Quindi, è possibile un programma di supporto grafico come quello ssh-askpass
che richiede a un utente una passphrase usando GNOME:
$ which ssh-askpass
/usr/bin/ssh-askpass
Quindi, aggiungi la seguente riga a /etc/sudo.conf
:
# Path to askpass helper program
Path askpass /usr/bin/ssh-askpass
E troverai la richiesta della password della GUI:
Puoi anche usare altri programmi come zenity
quello. Esempio che utilizzo come segue:
$ cat /etc/sudo.conf
# Path to askpass helper program
Path askpass /usr/local/bin/zenity_passphrase
Dove zenity_passphrase
si trova uno script personalizzato insieme per essere usato direttamente come comando:
$ cat $(which zenity_passphrase)
#!/bin/bash
zenity --password --title="sudo password prompt" --timeout=10
Che funziona come:
Nota:
Puoi anche usare gksudo
(frontend GTK + per su e sudo) invece che sudo
nello script che richiede con il prompt della GUI:
Puoi anche usare pkexec
(l' applicazione polkit ) con alcune applicazioni / comandi (per altri deve essere configurato):
pkexec leafpad
, dàCannot open display:
dopo aver inserito la password. È necessaria una configurazione adizionale?