Я использовал sudo -A
и SUDO_ASKPASS
годами без проблем.
У меня недавно установлена рабочая станция Xubuntu Focal Fossa, и я не могу заставить работать sudo -A
У меня:
me@mine:~$ cat .ssh/secrets/.supwd.sh
#!/bin/bash
echo 'SECRET'
me@mine:~$ ll .ssh/secrets/.supwd.sh
-rwx------ 1 me me 27 Apr 25 10:25 .ssh/secrets/.supwd.sh*
me@mine:~$ cat .bash_profile
SUDO_ASKPASS=${HOME}/.ssh/secrets/.supwd.sh
me@mine:~$ source .bash_profile
me@mine:~$ echo ${SUDO_ASKPASS}
/home/me/.ssh/secrets/.supwd.sh
me@mine:~$ ${SUDO_ASKPASS}
SECRET
me@mine:~$ sudo -A reboot now
sudo: no askpass program specified, try setting SUDO_ASKPASS
me@mine:~$
Что я забыл?
Переменную SUDO_ASKPASS
необходимо экспортировать в вашу среду, а не определять как простую переменную оболочки:
export SUDO_ASKPASS=${HOME}/.ssh/secrets/.supwd.sh
или POSIXly
SUDO_ASKPASS=${HOME}/.ssh/secrets/.supwd.sh
export SUDO_ASKPASS