Назад | Перейти на главную страницу

Где создать файл сокета AF_LOCAL / AF_UNIX, если запись в / var / run запрещена?

FSH говорит, что файлы сокета и pid должны идти в /var/run Однако в целях безопасности только root может создавать файлы и подкаталоги в этом месте.

Распространенным решением является создание подкаталога для сценария в /var/run и десять chmod это ... Но что делать, если у вас нет доступа к пользователю root?

Куда мне поместить .socket (и .pid), если у меня нет доступа к root?

В системах на основе systemd, таких как Arch Linux и (последняя версия) Debian, ожидается, что службы сообщат systemd, что им нужен каталог под /run добавив tmpfiles.d файл конфигурации в систему.

По умолчанию они хранятся в /usr/lib/tmpfiles.d, хотя локальные дополнения можно добавить в /etc/tmpfiles.d которые отменяют значения по умолчанию.

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

Например:

# cat /usr/lib/tmpfiles.d/php-fpm.conf
d /run/php-fpm 755 root root

Это указывает на создание каталога /run/php-fpm, с режимом 0755, принадлежит корню и группе root. Каталог будет создан при запуске системы или всякий раз, когда systemd-tmpfiles-setup служба перезапускается. Вы также можете запустить systemd-tmpfiles вручную.

Доступно много других вариантов; проверить tmpfiles.d документация для получения полной информации.