Intereting Posts
Как построить вывод команды RSync – Permission denied (13) при выполнении rsync в качестве корня Почему Linux обычно используется в качестве операционной системы для суперкомпьютеров? Почему я получаю ошибку «/ bin / bash не могу найти команду» для псевдонима? Как написать / sys / со сценарием после перезагрузки? (Sudo) Установка файлов в ~ / .local Как скопировать всю структуру каталогов с определенным ограничением размера файла? Конфигурация xmodmap для эмуляции макета специального ключа Mac? Возможно ли совместное использование NFS через многожильный компьютер? проблема с неактивным RAID 5 chage – минимальное количество дней между сменой пароля Сохраняет ли ключ ядра keych на диске? Удаление бесконечно вложенных каталогов Как выводятся статистические данные с помощью `free -l`? Как использовать модуль Python для «клавиатурных клавиш» для определения состояния Caps Lock?

Специальная команда Sudo без пароля

У меня есть следующая запись в /etc/sudoers чтобы разрешить мне запускать любую команду после запроса моего пароля

 %sudo ALL=(ALL:ALL) ALL 

Я также хочу запустить определенную команду без пароля как часть скрипта. Я попытался поместить следующую строку в /etc/sudoers , но всегда запрашивает пароль при запуске.

 gmc ALL = NOPASSWD: /sbin/hdparm -C /dev/sdc 

Есть ли способ использовать sudo использования конкретной команды перед использованием общей записи?

Порядок правил важен.

От man sudoers

  When multiple entries match for a user, they are applied in order. Where there are multiple matches, the last match is used (which is not neces- sarily the most specific match). 

Поэтому, если у вас есть

 gmc ALL = NOPASSWD: /sbin/hdparm -C /dev/sdc %sudo ALL=(ALL:ALL) ALL 

Последнее правило будет применяться, и потребуется пароль.

Однако, если у вас есть

 %sudo ALL=(ALL:ALL) ALL gmc ALL = NOPASSWD: /sbin/hdparm -C /dev/sdc 

Затем применяется правило NOPASSWD:.