Файл в /etc/sudoers.d/ не распознан

Запустив новую установку сервера Ubuntu 16.04.1, я попытался добавить файл в /etc/sudoers.d/, чтобы дать одно привилегии пользователя для определенной команды.

Я добавил файл /etc/sudoers.d/servicetest с следующий контент:

servicetest ALL = (root) NOPASSWD: /bin/systemctl status *

Файл /etc/sudoers оставлен нетронутым. Он содержит #includedir /etc/sudoers.d в качестве последней строки. Эта установка, к сожалению, не работает, при выполнении соответствующей команды с sudo в качестве пользователя servicetest меня все еще спрашивают пароль. Однако, если я перемещаю содержимое файла /etc/sudoers.d/servicetest до конца /etc/sudoers, все работает как ожидалось.

В чем может быть причина этой проблемы? Как я могу получить файлы в /etc/sudoers.d/?

1
задан 28 October 2016 в 07:25

1 ответ

По-видимому, файлы, включенные в файл /etc/sudoers, должны иметь разрешения 0440 по соображениям безопасности. Таким образом, только root может отредактировать файл, и только владелец и члены группы владельца могут его прочитать, что делает его менее вероятным, что файл будет использоваться как попытка эскалации привилегий.

Вы можете проверить требования к включенному файлу на /etc/sudoers.d/README, но два других требования состоят в том, что имя файла не должно начинаться с . (скрытых файлов) или заканчиваться ~ (соглашение для файлов резервных копий).

Кредиты @steeldriver для подтверждения теории и поиска файла /etc/sudoers.d/README!

5
ответ дан 23 May 2018 в 04:45
  • 1
    И поэтому следует использовать visudo -f /etc/sudoers.d/foo при редактировании файлов в /etc/sudoers.d. – muru 28 October 2016 в 07:26
  • 2
    Благодаря! Я не считал, что проверки разрешений являются такими суровыми (особенно, поскольку README говорит, что должен быть , а не должен быть ). root:root 0440 и root:root 0640 для меня не имеет значения, но похоже, что это делает для sudo;) – DevCybran 28 October 2016 в 08:57
  • 3
    К сожалению, это не было причиной. Я просто протестировал его с исправленными разрешениями (root:root 0440) и имел ту же проблему, что и раньше. – DevCybran 28 October 2016 в 15:06

Другие вопросы по тегам:

Похожие вопросы: