Щоразу, коли мені хочеться запустити щось, що вимагає від мене sudoerзанадто багато разів, мені потрібно гугл для форматування, /etc/sudoersщоб знову нагадати мені, що саме є правильним способом його написання.
Тепер у моєму sudoersфайлі я бачу різні стилі написання , що є наслідком різних результатів google протягом місяців. Я також помітив, що другий приклад (нижче), здається, працює в XFCE, але не в Кориці (Gnome 3). Це може бути абсолютно не пов'язане між собою, але, тим не менш, я хотів би дізнатися раз і назавжди, що є правильною граматикою рядка Судора і яка різниця між наведеними прикладами?
redsandro ALL=NOPASSWD:/path/to/commandredsandro ALL=(ALL) NOPASSWD:/path/to/commandredsandro ALL=(ALL:ALL) NOPASSWD:/path/to/command
Також для чого всі ALL? Один користувач, одна команда, але мені потрібно використовувати ALLключове слово до трьох разів? Я роблю це неправильно?
Звичайно, опускання NOPASSWD:змушує вас ввести пароль до того, як вам буде дозволено запустити команду, але одна точка плутанини - це використання, =і :для остаточної команди, що є предметом рядка, може бути попередньо будь-який= , :, , або ), заплутану граматику для подібної семантики.
sudoersсинтаксисом. Читання чоловічої сторінки було ще більш засмучуючим: вона описує так звану стисну та точну мову EBNF, приклади вичерпно довгі. Тому я не здивований, що знайшов тут стільки тем щодо цього файлу.