Anda dapat meminta kata sandi melalui GUI prompt dengan bantuan -A, --askpass
.
Dari halaman manual:
-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.
Jadi, Anda dapat program bantuan grafis seperti ssh-askpass
yang meminta pengguna untuk frasa sandi menggunakan GNOME:
$ which ssh-askpass
/usr/bin/ssh-askpass
Jadi, Tambahkan baris berikut ke /etc/sudo.conf
:
# Path to askpass helper program
Path askpass /usr/bin/ssh-askpass
Dan Anda akan menemukan prompt kata sandi GUI:
Anda juga dapat menggunakan program lain seperti zenity
itu. Contoh yang saya gunakan berikut ini:
$ cat /etc/sudo.conf
# Path to askpass helper program
Path askpass /usr/local/bin/zenity_passphrase
Di mana zenity_passphrase
skrip khusus disetel untuk digunakan langsung sebagai perintah:
$ cat $(which zenity_passphrase)
#!/bin/bash
zenity --password --title="sudo password prompt" --timeout=10
Yang berfungsi seperti:
catatan:
Anda juga dapat menggunakan gksudo
(GTK + frontend untuk su dan sudo) alih-alih sudo
dalam skrip yang menanyakan dengan prompt GUI:
Anda juga dapat menggunakan pkexec
( aplikasi polkit ) dengan beberapa (untuk yang lain perlu dikonfigurasi) aplikasi / perintah:
pkexec leafpad
, itu memberiCannot open display:
setelah memasukkan kata sandi. Apakah ada konfigurasi tambahan yang diperlukan?DISPLAY=:0 pkexec leafpad
Cannot open display:
muncul