Я не можу зрозуміти різницю в цих двох командах
USER ALL=(ALL) NOPASSWD: ALL І USER ALL=(OTHERUSER) NOPASSWD: ALL
Чи можна пояснити () зміну? Дякую
Я не можу зрозуміти різницю в цих двох командах
USER ALL=(ALL) NOPASSWD: ALL І USER ALL=(OTHERUSER) NOPASSWD: ALL
Чи можна пояснити () зміну? Дякую
Відповіді:
Від man 5 sudoers:
Основною структурою специфікації користувача є
who where = (as_whom) what.
І
Зарезервоване слово
ALLє вбудованим псевдонімом, який завжди призводить до успіху матчу.
У вашому випадку різниця в (as_whom) поле:
(ALL) означає, що це можливо USER виконувати команди як будь-який користувач. (OTHERUSER) означає, що це можливо USER для запуску команд як OTHERUSER (напр., sudo -u OTHERUSER whoami ).
Зверніть увагу, що це не означає USER не може виконувати команди, як YETANOTHERUSER. Якщо USER намагається запустити щось, як YETANOTHERUSER потім рядок з (OTHERUSER) не збігатиметься і парсер продовжуватиметься; деякі пізніші рядки можуть збігатися.
sudo -u chosen_user some_command, як у прикладі, який я додав до своєї відповіді. Якщо користувачеві дозволено запускати some_command як chosen_user тоді команда буде виконуватися з привілеями chosen_user.
USERможе виконувати команди sudo якOTHERUSERім'я або буде мати тільки привілеїOTHERUSER?.