Я не можу зрозуміти різницю в цих двох командах
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
?.