2012-08-14 2 views
0

Мне нужно переключиться между двумя пользователями, используя сценарий оболочки.Переключить пользователя, не запрашивая пароль в сценарии оболочки

Я использовал su и sudo для переключения между пользователями. Суть в том, что он каждый раз запрашивает пароль пользователя, и я не хочу, чтобы это произошло.

Я знаю пароль; есть ли способ, которым я могу жестко закодировать его в самом скрипте, чтобы он не запрашивал у пользователя пароль?

+0

показать, что вы сделали и пробовали? – Vijay

+0

'su root systemctl restart postgresql.service' часть моего кода –

+0

см. Http://unix.stackexchange.com/questions/7747/is-it-possible-to-su-without-being-prompted-for- а-пароль –

ответ

1

Не был бы NOPASSWD оговоркой в ​​sudoers работе? Например:

user1 ALL=(ALL:ALL) NOPASSWD: /bin/su user2 

Позволяет user1 к су в user2 без пароля. Если вам нужно только запустить определенную команду, как user2, добавить, что sudoers (через visudo) в явном виде:

user1 ALL=(user2) NOPASSWD: /path/to/command 

Тогда, как user1 пробег:

sudo -k user2 /path/to/command 
Смежные вопросы