The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В скрипте инициализации RHEL допущена ошибка, приводящая к у..., opennews (ok), 24-Мрт-15, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


85. "В скрипте инициализации RHEL допущена ошибка, приводящая к у..."  +/
Сообщение от Stax (ok), 24-Мрт-15, 13:56 
Сам сервис запускается от пользователя squid. Но в данном случае речь про обвязочный код; если вы не заметили, то раньше pid-файлы в /var/run можно было создавать и удалять только с правами рута, т.к. владелец /var/run - рут. Либо иметь там каталог от нужного пользователя, созданный при инсталляции пакета, но это требует специальной поддержки после переезда /var/run в tmpfs.

И - знаю, меня жестко заминусуют за этот комментарий - но не могу отметить, что systemd решает *и эту* проблему. Концепция systemd-tmpfiles обеспечивает чтение конфига в /etc/tmpfiles.d/сервис и создание временных каталогов с нужными правами до запуска сервиса. Т.е. в таком случае при запуске сервиса автоматически был бы создан /var/run/squid с правами squid и тогда уже весь дальнейший код инициализации можно было бы выполнять с правами squid.

Ответить | Правка | К родителю #45 | Наверх | Cообщить модератору

90. "В скрипте инициализации RHEL допущена ошибка, приводящая к у..."  +1 +/
Сообщение от Аноним (-), 24-Мрт-15, 14:13 
а что скрипт старта сервиса это не мог бы сделать ? так и было сделано всегда.
странно говорить о достижении systemd которое они подсмотрели в обычном sysv init..
Ответить | Правка | Наверх | Cообщить модератору

100. "В скрипте инициализации RHEL допущена ошибка, приводящая к у..."  –2 +/
Сообщение от Stax (ok), 24-Мрт-15, 15:01 
> а что скрипт старта сервиса это не мог бы сделать ? так и было сделано всегда.

Так он тут как раз так и делает :) С правами рута. Стирает pid-файл. С непредсказуемым эффектом.

В случае же systemd код с правами рута только создает стандартные каталоги/файлы согласно инструкциям из tmpfiles.d, а дальше код сервиса уже можно запускать от пользователя.

Впрочем, в случае сквида даже из systemd он запускается из под рута и меняет пользователя уже сам. Но тут уж ничего не поделаешь. Видимо, сам squid не рассчитан на запуск сразу из под непривилегированного пользователя.

Ответить | Правка | Наверх | Cообщить модератору

102. "В скрипте инициализации RHEL допущена ошибка, приводящая к у..."  +1 +/
Сообщение от Аноним (-), 24-Мрт-15, 15:14 
>> а что скрипт старта сервиса это не мог бы сделать ? так и было сделано всегда.
> Так он тут как раз так и делает :) С правами рута.
> Стирает pid-файл. С непредсказуемым эффектом.
> В случае же systemd код с правами рута только создает стандартные каталоги/файлы
> согласно инструкциям из tmpfiles.d, а дальше код сервиса уже можно запускать
> от пользователя.

еще раз - считается что так сделать нельзя? удивлю - так всегда и делали в приличном обществе.
скрипт запуска создавал каталоги - где вручную где используя mtree (?), после чего запускался демон и создавал нужные файлы.

Ответить | Правка | Наверх | Cообщить модератору

128. "В скрипте инициализации RHEL допущена ошибка, приводящая к у..."  –1 +/
Сообщение от Stax (ok), 24-Мрт-15, 17:36 
Так делали, но это приводит к потенциальным проблемам типа возникшей тут.

В случае systemd это больше не требуется, т.к. механизм tmpfiles позволяет создавать каталоги и прочее в момент запуска сервиса средствами systemd по декларативному описанию в конфиге. Напр.

$ cat /etc/tmpfiles.d/named.conf
d /run/named 0755 named named -

Что, очевидно, безопаснее и меньше риска допустить ошибку.

Ответить | Правка | Наверх | Cообщить модератору

138. "В скрипте инициализации RHEL допущена ошибка, приводящая к у..."  +/
Сообщение от Аноним (-), 24-Мрт-15, 17:42 
> $ cat /etc/tmpfiles.d/named.conf
> d /run/named 0755 named named -
> Что, очевидно, безопаснее и меньше риска допустить ошибку.

И кто помешает написать там:
> d $SQUID_PIDFILE_DIR 0755 named named -

и получить те же грабли только в профиль?

Ответить | Правка | Наверх | Cообщить модератору

164. "В скрипте инициализации RHEL допущена ошибка, приводящая к у..."  –1 +/
Сообщение от Stax (ok), 24-Мрт-15, 18:23 
Очевидно, что при декларативном синтаксисе - в отличии от bash-скрипта - очень просто проверить на ошибки и другие глупости. В tmpfiles.d глупости игнорируются (с логированием ошибки).

http://www.freedesktop.org/software/systemd/man/tmpfiles.d.html

Посмотрите http://fedoraproject.org/wiki/Packaging:Tmpfiles.d#Why_not_c... - причины перехода на единый механизм вполне понятны.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру