LINUX.ORG.RU
решено ФорумAdmin

Проблема с составлением sudoers

 


0

2

Добрый вечер! Пробую настроить sudo на запуск определенным пользователем определенных команд от root без пароля. Также, хочу настроить одной из групп пользователя возможность выполения команд выше + еще нескольких от root с паролем.

Пример. Для решения первой задачи создал файл /etc/sudoers.d/ls (права 0440) с содержимым

Cmnd_Alias LSCOMMANDS = /bin/ls
User_Alias LSADMINS = user1
LSADMINS ALL = (ALL) NOPASSWD: LSCOMMANDS

Под пользователем sudo ls отрабатывает без запроса пароля. Добавляю второй файл /etc/sudoers.d/other (0440) с содержимым

Cmnd_Alias OTHERCOMMANDS = /bin/rm, /bin/ls
%group1 ALL = (ALL) OTHERCOMMANDS

В группе group1 пользователь user1 есть. Под пользователем sudo rm запрашивает пароль. Хорошо. Но sudo ls тоже стал просить пароль, как будто первого файла не существует. Почему так?



Последнее исправление: cetjs2 (всего исправлений: 1)

Попробуй переименовать файлы: ls → 01_ls, other → 00_other. Думаю, дело в порядке их чтения.

Gotf ★★★
()
Ответ на: комментарий от Gotf

Это срабатывает через раз и только на конкретной версии. Видать порядок толи не гарантирован, толи в RHEL и Debian он по разному вычисляется, ибо меня эта проблема изрядно раздражает при работае с зоопарком.

zloelamo ★★★★
()
Последнее исправление: zloelamo (всего исправлений: 1)
Ответ на: комментарий от zloelamo

Видать порядок толи не гарантирован, толи в RHEL и Debian он по разному вычисляется


       sudo will read each file in /etc/sudoers.d, skipping file names that
       end in ~ or contain a . character to avoid causing problems with
       package manager or editor temporary/backup files.  Files are parsed in
       sorted lexical order.  That is, /etc/sudoers.d/01_first will be parsed
       before /etc/sudoers.d/10_second.  Be aware that because the sorting is
       lexical, not numeric, /etc/sudoers.d/1_whoops would be loaded after
       /etc/sudoers.d/10_second.  Using a consistent number of leading zeroes
       in the file names can be used to avoid such problems.

Может от локали зависит?

Gotf ★★★
()
Ответ на: комментарий от Gotf

Это описание процесса загрузки. Т.е. читает он файлы в этом порядке, а вот как он инструкции в этих файлах разбирает это интересный вопрос.

zloelamo ★★★★
()
Ответ на: комментарий от zloelamo

Вряд ли там что-то сложнее последовательного разбора, разработчики OpenBSD не любят усложнять без надобности.

Кстати, почему вообще не использовать #include вместо #includedir, если важен строгий порядок?

Gotf ★★★
()
Ответ на: комментарий от Gotf

Ты не понял. Есть два правила:

user1 -> user2 без пароля

user1 -> anyone c паролем

Так вот. Чисто внешне разобр этих правил идет по желанию левой пятки: то работает вышеуказанная конструкция, то нужно их менять местами, чтоб они оба работали.

zloelamo ★★★★
()
Последнее исправление: zloelamo (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.