Как сделать sudo -u без пароля?
Я использую ansible с vagrant, а ansible пытается sudo в качестве пользователя postgres для запуска некоторых команд postgres.
Ansible работает как бродячий пользователь, кажется, работает что-то вроде sudo -u postgres psql
Это не с сообщением об ошибке Missing sudo password
Я ssh на виртуальную машину, используя тот же бродячий пользователь и пытаюсь sudo -u postgres psql и уверен, что он запрашивает пароль. Интересно, хотя, sudo su postgres переключается на пользователя postgres без пароля.
Почему бы sudo -u запрашивать пароль при sudo su не делает?
В /etc/sudoers.d/ есть запись vagrant, которая имеет следующее содержимое:
%vagrant ALL=NOPASSWD:ALL
1 ответ
Потому что вы пытаетесь выдать себя за пользователя postgres, в то время как ваш файл sudoers позволяет вам олицетворять пользователя root из системной группы vagrant. Когда вы используете sudo su Вы также олицетворяете корень.
Добавь это: %vagrant ALL = (postgres) NOPASSWD: ALL