Примітка: я відповідаю 1. , оскільки Ігнасіо вже відповів 2 .
У наступному sudo
записі:
superadm ALL=(ALL) ALL
є чотири поля:
- Перший вказує користувача, якому будуть надані привілеї для деяких команд.
- Другий використовується рідко. Це список імен хостів, щодо яких ця запис судо буде ефективною. У стандартних налаштуваннях відповідний лише один хост (localhost), тому це поле зазвичай залишається як
ALL
.
- Четвертому полі список команд
superadm
матиме можливість працювати з підвищеними привілеями. ALL
означає всі команди. В іншому випадку використовуйте розділений комами список команд.
- Третє поле (написане,
(…)
що є необов'язковим) вказує, яким користувачам (і групам) superadm
користувач зможе виконувати такі команди як. ALL
означає, що вони можуть вибрати що завгодно (необмежено). Якщо це поле опущено, воно означає те саме, що і (root)
.
Приклад:
alan ALL = (root, bin : operator, system) /bin/ls, /bin/kill
Тут alan
дозволено запускати дві команди /bin/ls
і /bin/kill
як root
(або bin
), можливо, з додатковими operator
або system
груповими привілеями.
Тому ви alan
можете запустити ls
як bin
користувач і з такими operator
груповими привілеями:
sudo -u bin -g operator /bin/ls /whatever/directory
Якщо -u
пропущено, це те саме, що -u root
. Якщо -g
пропущено, додаткові групові привілеї не надаються.