Ви можете задати пароль за допомогою підказки GUI за допомогою -A, --askpass
.
На сторінці сторінки:
-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.
Таким чином, ви можете надати графічну програму-помічник, таку, ssh-askpass
яка пропонує користувачеві ввести фразу за допомогою GNOME:
$ which ssh-askpass
/usr/bin/ssh-askpass
Отже, Додайте наступний рядок до /etc/sudo.conf
:
# Path to askpass helper program
Path askpass /usr/bin/ssh-askpass
І ви знайдете підказку пароля GUI:
Ви також можете користуватися іншою подібною програмою zenity
. Приклад я використовую наступне:
$ cat /etc/sudo.conf
# Path to askpass helper program
Path askpass /usr/local/bin/zenity_passphrase
Де zenity_passphrase
встановлений спеціальний скрипт , який використовується безпосередньо як команда:
$ cat $(which zenity_passphrase)
#!/bin/bash
zenity --password --title="sudo password prompt" --timeout=10
Що працює:
Примітка:
Ви також можете використовувати gksudo
(GTK + frontend для su і sudo) замість sudo
сценарію, який запитує підказку GUI:
Ви також можете використовувати pkexec
( додаток polkit ) з деякими (для інших це потрібно налаштувати) програмами / командами:
pkexec leafpad
, при використанні pkexec, він даєCannot open display:
після введення пароля. Чи потрібна додаткова конфігурація?