SystemdDoctor
SocketUser= [Socket]

SocketUser=, SocketGroup=, SocketMode= для unix-сокетов

Задают владельца, группу и права файла unix-сокета, который создаёт systemd. Через них выдают доступ другим службам — обычно веб-серверу.

Что делает

Типичная задача: приложение слушает unix-сокет, а веб-сервер должен в него писать. Решение — общая группа и права 0660. Расширять права до 0666 не нужно: это открывает сокет всем процессам машины.

Параметры действуют только для unix-сокетов. Для сетевых портов права не имеют смысла, и systemd их игнорирует.

Где ставится. В секции [Socket].

Значения

ЗначениеЧто происходит
SocketUser=appвладелец файла сокета.
SocketGroup=www-dataгруппа: через неё даётся доступ веб-серверу.
SocketMode=0660права: чтение и запись владельцу и группе.
RemoveOnStop=yesудалять файл сокета при остановке.

Пример

Сокет приложения, доступный веб-серверу.

[Socket]
ListenStream=/run/myapp/app.sock
SocketUser=app
SocketGroup=www-data
SocketMode=0660
RemoveOnStop=yes

Типичные ошибки

Несуществующий пользователь или группа дают код 235/CHOWN при запуске сокета.

Права 0666 открывают сокет всем процессам машины: используйте группу.

Для сетевых портов эти параметры бессмысленны и только запутывают читателя unit-файла.

Связанные ошибки

Рядом стоящие параметры

Где важен на практике

Источники

  • systemd.socket(5) официальная документация
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04) собственная проверка
    сверено 15 сентября 2026