Операційна система: Arch Linux
Версія Linux: 4.16.11
Версія судо: 1.8.23
Що мені потрібно :
- бути в змозі виконати
any executableізsudoзапитом пароля - бути в змозі виконати один виконуваний файл
/home/username/script.sh, без запиту пароля.
Коли я конфігурую так
username ALL=(ALL) NOPASSWD: /home/username/script.sh
Я маю бажаний ефект на script.sh, але я не можу виконати жодного іншого за executableдопомогою sudo.
Приклад
$ sudo ./script.sh # runs fine!
Спроба чогось іншого
$ sudo nano /etc/sudoers
[sudo] password for username:
Sorry, user username is not allowed to execute '/usr/bin/nano
/etc/sudoers' as root on hostname.
Здається , це результат заміни ALLз NOPASSWD, і , здається , мені потрібно інше. Якщо sudoersфайл ALLпризначений для користувача, я можу виконати все, що завгодно, із запитом пароля
username ALL=(ALL) ALL
Я намагався поєднувати ВСЕ та NOPASSWD, але результатів не було
username ALL=(ALL) ALL, NOPASSWD: /home/username/script.sh
Так воно запитує пароль для script.sh.
Чи можу я мати обоє?
NOPASSWDпараметри повинні бути використані для виконуваних файлів , які не можуть бути змінені користувачами, як, скажімо ,ifconfigдля мережевого адміністратора.