1

Я только начинаю изучать сценарии инициализации systemd после обновления до Ubuntu 16.04LTS. Какими должны быть права доступа и права доступа к моим файлам .service ?

В настоящее время это по умолчанию:

-rw-rw-r-- 1 me me  225 Dec 20 21:57 my.service

После символической ссылки на каталог systemd, похоже, что другие файлы просто полностью открыты (777), даже мои:

lrwxrwxrwx  1 root root   40 Dec 20 21:31 dbus-org.freedesktop.Avahi.service -> /lib/systemd/system/avahi-daemon.service

1 ответ1

1

Должны ли файлы быть исполняемыми?

Думайте о единицах systemd как о файлах конфигурации, а не как о скриптах. Они не запускаются ядром, не имеют #! строка Шебанга, и, следовательно, не должны быть исполняемыми. (Фактически, если вы сделаете их исполняемыми, systemd выведет предупреждение в системные журналы.)

Должны ли файлы быть доступны для чтения пользователям без полномочий root?

Да, нет смысла скрывать содержимое (которое в любом случае можно получить через systemctl ). Опять же, systemd предупредит о бесполезных попытках сделать юниты закрытыми.

Должны ли файлы быть доступны для записи пользователям без полномочий root?

Только если пользователь полностью доверен (то есть системный администратор). Подумайте о том, чего они могут достичь: они могут поместить произвольные команды в файл модуля, перезагрузить систему, и эти команды будут выполняться с полными привилегиями суперпользователя .

Таким образом, если ненадежный пользователь может записывать в системные файлы .service, они могут очень быстро стать пользователем root.

Должны ли файлы принадлежать пользователю root или нет?

Это файлы конфигурации системы, расположенные в /etc , поэтому естественным выбором будет root. (Это не имеет значения , что многое - но смотрите предыдущий раздел о writability.)

Действительно ли другие файлы "полностью открыты"?

Это не так. Ваш пример - символическая ссылка, а не файл. Симлинки вообще не имеют своих собственных разрешений - система всегда возвращает одно и то же фиктивное значение, но никогда не использует его ни для чего. (Кстати, rwx rwx rwx это 0777, а не 0755.)

Если вы посмотрите на все обычные файлы в /etc/systemd/system или /usr/lib/systemd/system , вы увидите, что почти все они имеют разрешения 0644 (rw- r-- r--).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .