Как сделать 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