На этот вопрос уже есть ответ:
Как вы вводите пароль sudo автоматически при появлении запроса? Я могу сделать это в сценарии, набрав: echo PASSWORD | sudo -S Command
, но как это сделать всегда, когда будет предложено?
Можно изменить sudoers файл (использующий visudo
) и использовать опцию "NOPASSWD" не запросить пароль. От, здесь страница; например, man sudoers
и поиск NOPASSWD -
NOPASSWD и PASSWD
По умолчанию, sudo требуют, чтобы пользователь аутентифицировал его или ее прежде, чем выполнить команду. Это поведение может быть изменено через тег NOPASSWD. Как Runas_Spec, наборы тегов NOPASSWD значение по умолчанию для команд, которые следуют за ним в Cmnd_Spec_List. С другой стороны тег PASSWD может использоваться для инвертирования вещей. Например:
ray rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm
позволил бы пользовательскому лучу выполнять/bin/kill,/bin/ls, и/usr/bin/lprm как корень на машине rushmore, не аутентифицируя себя. Если бы мы только хотим, чтобы луч был в состоянии выполнить/bin/kill без пароля, запись была бы:
ray rushmore = NOPASSWD: /bin/kill, PASSWD: /bin/ls, /usr/bin/lprm
Примечание, однако, что тег PASSWD не имеет никакого эффекта на пользователей, которые находятся в группе, определенной exempt_group опцией.
По умолчанию, если тег NOPASSWD применяется к какой-либо из записей для пользователя на текущем хосте, он будет в состоянии работать ''sudo-l'' без пароля. Кроме того, пользователь может только работать ''sudo-v'' без пароля, если тег NOPASSWD присутствует для всего записи пользователя, которые принадлежат текущему хосту. Это поведение может быть переопределено через verifypw и listpw опции.