Вам, вероятно, нравится строка в файле sudoers:
script_user ALL = (postgres) NOPASSWD: /usr/bin/psql
Отдельные позиции в строке:
script_user
: (стандартный) пользователь, использующий скрипт bash (т. Е. Ваша учетная запись)
ALL
: специальная переменная, здесь в позиции, где указываются все хосты. Вы можете попытаться ограничить это, например, localhost
если хочешь
(postgres)
: пользователь для запуска команды (команд) от имени. То есть пользователь, указанный в опции -u
NOPASSWD:
специальная переменная, указывающая, что для следующей команды не требуется пароль (конечно, для этой комбинации пользователя, пользователя sudo и хоста)
/usr/bin/psql
: разрешена конкретная команда. Это также может быть список команд, разделенных запятыми, или ALL
. (Очевидно, что путь может быть другим на вашей машине.)
Связанные вопросы и ответы по StackOverflow немного разбросаны и, кажется, не отвечают полностью на ваш конкретный вопрос, но я натолкнулся на общую приятную статью по этой теме от Abhijit Menon- Сен, который мне показался более понятным, чем различные справочные страницы по sudo & friends.