Операційна система: 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
для мережевого адміністратора.