Перейти к содержимому

Директивы

Полный перечень директив systemd unit-файлов по секциям.


Секция [Unit]

Общие директивы для всех типов юнитов.

Мета-информация

ДирективаОписаниеЗначенияБезопасностьРекомендации
Description=Краткое описание юнита для отображения в UI и логахСтрокаНе влияетУказывайте осмысленное название. Используется в systemctl status
Documentation=Ссылки на документацию через пробелURI: http://, https://, file:, info:, man:Не влияетУказывайте man: ссылки для быстрого доступа к документации

Зависимости (требования)

ДирективаОписаниеЗначенияБезопасностьРекомендации
Wants=Слабая зависимость: запустит указанные юниты, но не остановит текущий при их сбоеСписок имён юнитовНизкий рискРекомендуется вместо Requires= для устойчивости системы
Requires=Сильная зависимость: остановит текущий юнит если зависимость упала с After=Список имён юнитовСредний — может вызвать каскадную остановкуИспользуйте когда зависимость критична
Requisite=Требует чтобы зависимость уже была запущена, иначе отказ запускаСписок имён юнитовСреднийКомбинируйте с After= для корректного порядка
BindsTo=Самая сильная зависимость: останавливает юнит при падении или остановке зависимостиСписок имён юнитовВысокий — каскадная остановкаИспользуйте с After= только для тесно связанных сервисов
PartOf=Останавливает/перезапускает текущий юнит при остановке/перезапуске указанногоСписок имён юнитовСредний — односторонняя зависимостьУдобно для группировки сервисов
Upholds=Непрерывно поддерживает указанные юниты активнымиСписок имён юнитовНизкийАльтернатива Restart= для поддержания сервиса в работе
Conflicts=Негативная зависимость: запуск одного останавливает другойСписок имён юнитовВысокий — конфликт может привести к остановке сервисовИспользуйте для взаимоисключающих сервисов (iptables/nftables)

Порядок запуска

ДирективаОписаниеЗначенияБезопасностьРекомендации
After=Запускать текущий юнит после указанных (не создаёт зависимость)Список имён юнитовНе влияетВсегда указывайте вместе с Requires=/Wants=
Before=Запускать текущий юнит до указанных (не создаёт зависимость)Список имён юнитовНе влияетИспользуйте для сервисов, которые должны стартовать раньше

Управление изоляцией и отключением

ДирективаОписаниеЗначенияБезопасностьРекомендации
DefaultDependencies=Включает/выключает зависимости по умолчанию для типа юнитаyes (по умолчанию), nono отключает автоматические зависимости на shutdownОставляйте yes除非 вы точно знаете что делаете
IgnoreOnIsolate=Не останавливать юнит при изоляции (например, isolate multi-user.target)true, falsetrue может оставить нежелательные сервисыИспользуйте для essential сервисов (dbus, journald)
StopWhenUnneeded=Остановить юнит когда он больше не нуженtrue, falseНе влияет显著ноПолезно для mount/automount юнитов
RefuseManualStart=Запретить ручной запуск юнитаtrue, falseПовышает безопасность — предотвращает случайный запускИспользуйте для зависимых сервисов
RefuseManualStop=Запретить ручную остановку юнитаtrue, falseПовышает безопасность — предотвращает случайную остановку critical сервисовИспользуйте для критичных сервисов

Обработка ошибок

ДирективаОписаниеЗначенияБезопасностьРекомендации
OnFailure=Запустить указанный юнит при ошибке текущегоИмя юнитаПозволяет автоматическое восстановлениеИспользуйте для алертинга и автоматического ремонта
OnFailureJobMode=Режим очереди задач при OnFailurefail, replace, replace-irreversibly, isolating, flush, triggering, dependencyreplace-irreversibly не может быть отменёнfail по умолчанию, replace для замены текущих задач
OnSuccess=Запустить указанный юнит при успешном завершенииИмя юнитаНе влияет显著ноПолезно для цепочек задач
OnSuccessJobMode=Режим очереди задач при OnSuccessАналогично OnFailureJobMode=АналогичноАналогично

Действия при успешном/неуспешном завершении

ДирективаОписаниеЗначенияБезопасностьРекомендации
SuccessAction=Действие при успешном завершенииnone, reboot, reboot-force, reboot-immediate, poweroff, poweroff-force, poweroff-immediate, halt, halt-force, halt-immediate, kexec, exit, exit-forcereboot-immediate/poweroff-immediate могут привести к потере данныхnone по умолчанию. Используйте reboot только при необходимости
SuccessActionExitStatus=Код выхода для SuccessAction=exitЧисло или диапазон (например 0, 0..255)Не влияет显著ноУказывайте при использовании exit
FailureAction=Действие при неуспешном завершенииАналогично SuccessAction=Аналогично — force варианты опасныnone по умолчанию. Используйте осторожно
FailureActionExitStatus=Код выхода для FailureAction=exitЧисло или диапазонНе влияет显著ноУказывайте при использовании exit

Таймауты

ДирективаОписаниеЗначенияБезопасностьРекомендации
JobTimeoutSec=Таймаут ожидания выполнения задачиСекунды, infinity, time span (например 5min 20s)Бесконечный таймаут может заблокировать системуЗначение по умолчанию разумное, увеличивайте только при необходимости
JobRunningTimeoutSec=Таймаут для уже запущенной задачиАналогично JobTimeoutSec=АналогичноИспользуйте для защиты от зависших операций
JobTimeoutAction=Действие при таймауте задачиАналогично FailureAction=Аналогичноnone по умолчанию
JobTimeoutRebootArgument=Аргумент перезагрузки при таймаутеСтрокаНе влияет显著ноУказывайте только с reboot/kexec действиями

Управление сборкой мусора и автозагрузкой

ДирективаОписаниеЗначенияБезопасностьРекомендации
CollectMode=Режим сборки мусора для завершённых юнитовinactive (по умолчанию), inactive-or-failed, inactive-or-encountered-error, forceforce удаляет юниты из памяти независимо от состоянияinactive безопасен по умолчанию

Таймауты запуска

ДирективаОписаниеЗначенияБезопасностьРекомендации
DefaultStartLimitBurst=Количество допустимых перезапусков за интервалЦелое числоСлишком частые перезапуски могут нагружать системуЗначение по умолчанию (10) адекватно для большинства случаев
DefaultStartLimitIntervalSec=Интервал для подсчёта перезапусковСекунды, time spanНе влияет显著но10 секунд по умолчанию

Пропагация перезагрузки/остановки

ДирективаОписаниеЗначенияБезопасностьРекомендации
ReloadPropagatedFrom=Перезагрузка от указанных юнитовСписок имён юнитовНе влияет显著ноИспользуйте для группировки
PropagatesReloadTo=Перезагрузка указанных юнитов при перезагрузке текущегоСписок имён юнитовКаскадная перезагрузка может затронуть лишние сервисыИспользуйте осторожно
StopPropagatedFrom=Остановка от указанных юнитовСписок имён юнитовКаскадная остановкаИспользуйте осторожно
PropagatesStopTo=Остановка указанных юнитов при остановке текущегоСписок имён юнитовКаскадная остановкаИспользуйте осторожно

Пространства имён

ДирективаОписаниеЗначенияБезопасностьРекомендации
JoinsNamespaceOf=Присоединиться к пространству имён указанного юнитаСписок имён юнитовПовышает изоляциюИспользуйте для сервисов, которым нужна общая среда
NetworkNamespacePath=Путь к network namespaceПуть к файлу или inet:Управление сетевой изоляциейИспользуйте для контейнеров
IPCNamespacePath=Путь к IPC namespaceПуть к файлуУправление IPC изоляциейИспользуйте для контейнеров
Personality=Архитектура выполненияia32, x86-64, aarch64, mips64-le, ppc64-le, riscv64-le, s390x, sparc64Влияет на безопасность через эмуляцию архитектурыИспользуйте для запуска 32-битных приложений на 64-битной системе

Секция [Install]

Директивы, определяющие как юнит инсталлируется в систему.

ДирективаОписаниеЗначенияБезопасностьРекомендации
WantedBy=Создаёт симлинк в .wants/ директорию указанного юнитаИмя target-юнитаНе влияет显著ноОсновной способ автоматического запуска сервисов
RequiredBy=Создаёт симлинк в .requires/ директорию указанного юнитаИмя target-юнитаКаскадная зависимостьИспользуйте только для критичных сервисов
Also=Дополнительные юниты для включения/отключенияСписок имён юнитовНе влияет显著ноУдобно для группировки связанных сервисов
Alias=Альтернативные имена для юнитаСписок имён юнитовНе влияет显著ноИспользуйте для удобства (например default.target)
DefaultInstance=Экземпляр по умолчанию для шаблонных юнитовСтрокаНе влияет显著ноУказывайте для шаблонных сервисов
AllowIsolate=Разрешить изоляцию этого target-юнитаtrue, falsetrue позволяет изолировать targetВключайте только для target-юнитов

Секция [Service]

Директивы специфичные для сервисов.

Тип сервиса

ДирективаОписаниеЗначенияБезопасностьРекомендации
Type=Механизм уведомления systemd о запускеsimple — fork без ожидания execve
exec — после успешного execve (по умолчанию)
forking — классический fork (родитель завершается)
oneshot — одноразовый с ожиданием завершения
dbus — после получения D-Bus имени
notify — после отправки READY=1 через sd_notify
notify-reload — как notify + обработка SIGHUP
idle — задержка до завершения всех задач
simple может не обнаружить ошибки запускаexec для долгоживущих сервисов. notify если сервис поддерживает sd_notify. oneshot для скриптов
ExitType=Когда считать сервис завершённымmain (по умолчанию) — при завершении main процесса
cgroup — пока жив хотя бы один процесс в cgroup
cgroup не отслеживает main PIDmain для стандартных сервисов. cgroup для графических приложений

Управление процессами

ДирективаОписаниеЗначенияБезопасностьРекомендации
ExecStart=Команда запуска сервисаПолный путь + аргументы. Префикс - игнорирует ошибки, !! — sandboxing overrideПуть к бинарнику должен быть валиднымОбязательна для большинства сервисов. Не более одной команды (кроме oneshot)
ExecStartPre=Команды до ExecStartАналогично ExecStart=Не запускайте долгие процессыИспользуйте для инициализации, проверок
ExecStartPost=Команды после успешного ExecStartАналогично ExecStart=АналогичноИспользуйте для пост-инициализации
ExecStop=Команда остановки сервисаАналогично ExecStart=Должна быть синхронной операциейИспользуйте для graceful shutdown
ExecStopPost=Команды после остановкиАналогично ExecStart=Работает даже при аварийной остановкеИспользуйте для очистки
ExecCondition=Проверка условия перед запускомКод 0 = продолжить, 1-254 = пропустить, 255 = ошибкаНе влияет显著ноАльтернатива Condition*= для сложных проверок
ExecReload=Команда перезагрузки конфигурацииАналогично ExecStart=Используйте $MAINPID для передачи сигналаkill -HUP $MAINPID или командная альтернатива

Перезапуск

ДирективаОписаниеЗначенияБезопасностьРекомендации
Restart=Условия автоматического перезапускаno (по умолчанию), on-success, on-failure, on-abnormal, on-abort, alwaysБесконечный перезапуск может замедлить загрузкуon-failure для критичных сервисов. always для essential демонов
RestartSec=Задержка перед перезапускомСекунды, time span (по умолчанию 100ms)Слишком малая задержка = нагрузка3-10 секунд для большинства сервисов
RestartSteps=Количество шагов экспоненциального увеличенияЦелое число, 0 = отключеноНе влияет显著но3-5 для экспоненциального backoff
RestartMaxDelaySec=Максимальная задержка при экспоненциальном увеличенииСекунды, infinityНе влияет显著ноИспользуйте с RestartSteps
RestartRandomizedDelaySec=Случайная добавочная задержкаСекунды, time spanПолезно против “thundering herd”1-5 секунд для распределения нагрузки
RestartPreventExitStatus=Коды выхода, запрещающие перезапускСписок кодов или диапазоновПозволяет “чистое” завершение0 для oneshot сервисов
RestartForceExitStatus=Коды выхода, принудительно запускающие перезапускСписок кодов или диапазоновИгнорирует Restart=noИспользуйте когда特定ные коды означают необходимость перезапуска
RestartMode=Режим перезапускаnormal (по умолчанию), directdirect — только замена процессаnormal безопаснее

Таймауты

ДирективаОписаниеЗначенияБезопасностьРекомендации
TimeoutStartSec=Таймаут запускаСекунды, infinity (по умолчанию 90s, infinity для oneshot)Бесконечный таймаут может заблокировать загрузкуУвеличивайте только для медленно запускающихся сервисов
TimeoutStopSec=Таймаут остановкиСекунды, infinity (по умолчанию 90s)SIGKILL после таймаута может привести к потере данныхУвеличивайте для сервисов с длительной очисткой
TimeoutAbortSec=Таймаут при abort (watchdog)Секунды, infinity, пустая строкаВлияет на время записи core dumpУвеличивайте если нужен полный core dump
TimeoutSec=Шорткат для TimeoutStartSec + TimeoutStopSecАналогичноАналогичноУдобно для единого таймаута
TimeoutStartFailureMode=Действие при таймауте запускаterminate (по умолчанию), abort, killkill — принудительное завершение без graceful shutdownterminate безопаснее. kill для критичных случаев
TimeoutStopFailureMode=Действие при таймауте остановкиterminate (по умолчанию), abort, killАналогичноАналогично
RuntimeMaxSec=Максимальное время жизни сервисаСекунды, time span, infinity (по умолчанию)Автоматическая остановкаИспользуйте для одноразовых задач
RuntimeRandomizedExtraSec=Дополнительное случайное время жизниСекунды, time spanРассеивает нагрузку при массовом запускеПолезно для cron-like сервисов

Работа с пользователей и группами

ДирективаОписаниеЗначенияБезопасностьРекомендации
User=Пользователь для запуска сервисаИмя или UIDСервис получает права пользователяЗапускайте от непривилегированных пользователей
Group=Группа для запуска сервисаИмя или GIDВлияет на доступ к файламЗадавайте отдельно от User при необходимости
DynamicUser=Динамическое создание пользователяtrue, falseПовышает безопасность — ephemeral пользовательВключайте для stateless сервисов
SupplementaryGroups=Дополнительные группыСписок имён или GIDДополнительные привилегииМинимальный набор необходимых групп

Управление памятью и ресурсами

ДирективаОписаниеЗначенияБезопасностьРекомендации
OOMPolicy=Поведение при OOMcontinue (по умолчанию), stop, kill, ignoreignore предотвращает OOM-killercontinue по умолчанию, stop для критичных сервисов
OOMScoreAdjust=Корректировка OOM-оценки-1000..1000 (по умолчанию 0)Отрицательные значения = приоритет защиты-1000 для защиты от OOM, +1000 для убийства первым

Журнал и мониторинг

ДирективаОписаниеЗначенияБезопасностьРекомендации
WatchdogSec=Таймаут watchdogСекунды, time spanСервис必须 отправлять SD_WATCHDOG_USECИспользуйте для мониторинга зависших сервисов
WatchdogSignal=Сигнал при watchdog timeoutСигнал (по умолчанию SIGABRT)Влияет на обработку ошибокОставляйте SIGABRT по умолчанию
NotifyAccess=Доступ к сокету уведомленийnone, main (по умолчанию), all, main-exclusiveall разрешает любым процессам уведомленияmain для стандартных сервисов
NonBlocking=Неблокирующий режимtrue, falseВлияет на обработку stdin/stdoutfalse по умолчанию

Переменные окружения

ДирективаОписаниеЗначенияБезопасностьРекомендации
Environment=Переменные окружения для сервисаСписок KEY=VALUEНе храните секреты в unit-файлахИспользуйте LoadCredential= для секретов
EnvironmentFile=Файл с переменными окруженияПуть к файлу (с префиксом - для опциональности)Файл должен быть доступен сервисуИспользуйте для separation of concerns

Управление файловыми дескрипторами

ДирективаОписаниеЗначенияБезопасностьРекомендации
FileDescriptorStoreMax=Максимальное количество FD в storeЧисло (по умолчанию 0)Каждый FD消耗 памятьУстанавливайте для socket-activated сервисов
FileDescriptorStorePreserve=Сохранять FD при остановкеno (по умолчанию), yes, restartyes =_FD сохраняются при любом перезапускеrestart для socket-activated сервисов
OpenFile=Открытые файлы для сервисаСписок PATH:MODEКонтроль доступа к файламИспользуйте вместо ExecStartPre для открытия файлов

Управление копиями и credentials

ДирективаОписаниеЗначенияБезопасностьРекомендации
LoadCredential=Загрузка credentialID:PATH или ID@PATHКреденшилы доступны только сервисуИспользуйте для secrets вместо Environment=
RootDirectory=Корневой каталог для сервисаПутьПолная изоляция файловой системыИспользуйте для sandboxing
RootDirectoryStartOnly=RootDirectory только для ExecStarttrue, falseВлияет на ExecStartPre/Posttrue для полной изоляции
RuntimeDirectory=Каталоги в /run/ для сервисаСписок каталоговАвтоматическое создание/очисткаУдобно для PID-файлов, сокетов
RefreshOnReload=Перечитывать конфигурацию при reloadtrue, falseНе влияет显著ноПолезно для сервисов с внешней конфигурацией

Kill-сигналы

ДирективаОписаниеЗначенияБезопасностьРекомендации
KillMode=Режим завершения процессовcontrol-group (по умолчанию) — все процессы в cgroup
process — только main process
mixed — main получает KillSignal, остальные SIGTERM
none — только ExecStop
process может оставить сиротские процессыcontrol-group safest. mixed для graceful shutdown
KillSignal=Сигнал для main процессаСигнал (по умолчанию SIGTERM)SIGTERM = graceful, SIGKILL = принудительноSIGTERM по умолчанию, SIGINT для интерактивных
RestartKillSignal=Сигнал при перезапускеСигнал (по умолчанию SIGTERM)АналогичноИспользуйте когда нужен другой сигнал при рестарте
FinalKillSignal=Финальный SIGKILL после TimeoutStopSecСигнал (по умолчанию SIGKILL)SIGKILL не даёт процессу очиститьсяОставляйте SIGKILL по умолчанию

cgroup и делегирование

ДирективаОписаниеЗначенияБезопасностьРекомендации
Delegate=Делегирование управления cgrouptrue, false, или список контроллеров (cpu, io, memory, …)Делегация снижает контроль systemdtrue для container runtimes
DevicePolicy=Политика доступа к устройствамauto (по умолчанию), closed, strictclosed блокирует все устройства кроме white-listclosed для enhanced security
DeviceAllow=Разрешённые устройстваСписок PATH rwmУправление доступом к /dev/Используйте с DevicePolicy=closed

Сетевые ограничения

ДирективаОписаниеЗначенияБезопасностьРекомендации
PrivateTmp=Приватный /tmp и /var/tmptrue, falseПовышает безопасность — изолированная tmpfsВключайте для большинства сервисов
PrivateDevices=Приватный набор устройствtrue, falseСервис не видит реальные устройстваВключайте для enhanced security
PrivateIPC=Приватный IPC namespacetrue, falseИзоляция IPCВключайте для изоляции
PrivateNetwork=Приватная сеть (без сетевого доступа)true, falseСервис не имеет сетевого доступаВключайте для не нуждающихся в сети сервисов

Лимит перезапусков

ДирективаОписаниеЗначенияБезопасностьРекомендации
StartLimitBurst=Количество перезапусков за интервалЧисло (по умолчанию 5)Защита от бесконечного перезапуска5-10 для большинства сервисов
StartLimitIntervalSec=Интервал подсчёта перезапусковСекунды, time span (по умолчанию 10s)Не влияет显著но10-30 секунд адекватно
StartLimitAction=Действие при превышении лимита перезапусковnone, fail, reboot, reboot-force, reboot-immediate, poweroff, poweroff-force, poweroff-immediate, halt, halt-force, halt-immediate, kexec, exit, exit-forcereboot-immediate может привести к потере данныхnone по умолчанию. reboot для критичных систем
SurviveFinalKillSignal=Пережить финальный kill при shutdowntrue, falseСервис будет остановлен позжеtrue только для essential сервисов

Произвольные переменные (пользовательские)

ДирективаОписаниеЗначенияБезопасностьРекомендации
Environment= (service)Переменные окруженияKEY=VALUEНе храните секретыИспользуйте LoadCredential=
EnvironmentFile=Файл переменныхПуть, - prefix для optionalФайл должен существовать для mandatory- для optional файлов

Секция [Socket]

Директивы для socket-activation.

ДирективаОписаниеЗначенияБезопасностьРекомендации
ListenStream=Прослушивание TCP/Unix-сокетаПуть к файлу, PORT, [::]:PORTКонтроль доступа через filesystemИспользуйте для lazy-start сервисов
ListenDatagram=Прослушивание UDP сокетаАналогичноАналогичноДля UDP сервисов
ListenSequentialPacket=Прослушивание sequential packet (AF_UNIX)Путь к файлуАналогичноДля D-Bus и подобных
ListenFIFO=Прослушивание именованной pipeПуть к FIFOАналогичноДля legacy-совместимости
ListenSpecial=Прослушивание специального файлаАбсолютный путьДоступ к /proc, /devДля character devices
ListenNetlink=Прослушивание Netlink сокетаИмя семейства (audit, kobject-uevent)Ядерные событияДля мониторинга
ListenMessageQueue=Прослушивание POSIX message queueИмя очереди (начинается с /)IPC изоляцияДля legacy IPC
ListenUSBFunction=Прослушивание USB FunctionFSПуть к FunctionFS mount pointUSB gadgetДля USB-устройств
SocketProtocol=Протокол сокетаudplite, sctp, mptcpСетевая безопасностьudplite для повреждённых пакетов
BindIPv6Only=Только IPv6default, both, ipv6-onlyСетевая безопасностьipv6-only для IPv6-only
Backlog=Очередь входящих соединенийЧисло (по умолчанию 4294967295)DoS защитаОграничение при высокой нагрузке
BindToDevice=Привязка к сетевому интерфейсуИмя интерфейсаИзоляция сетиДля изоляции сервисов
SocketUser=Владелец сокетаИмя пользователяКонтроль доступаПо умолчанию root
SocketGroup=Группа сокетаИмя группыКонтроль доступаПо умолчанию root
SocketMode=Режим сокетаВосьмеричный режим (по умолчанию 0666)Контроль доступа0666 для сокетов
DirectoryMode=Режим каталогаВосьмеричный режим (по умолчанию 0755)Контроль доступа0755 для каталогов
KeepAlive=TCP Keep-Alivetrue, falseОбнаружение мертвых соединенийtrue для долгоживущих соединений
KeepAliveTimeSec=Время до первого keepaliveСекунды (по умолчанию 7200)Энергопотребление7200s по умолчанию
KeepAliveIntervalSec=Интервал keepaliveСекунды (по умолчанию 75)Энергопотребление75s по умолчанию
KeepAliveProbes=Количество probesЧисло (по умолчанию 9)Чувствительность9 по умолчанию
NoDelay=Отключение алгоритма Нэйглаtrue, falseЗадержка vs Throughputtrue для低延迟
Priority=Приоритет трафикаЧислоQoS0 по умолчанию
DeferAcceptSec=Отсрочка acceptСекундыЭнергосбережениеДля HTTP-серверов
ReceiveBuffer=Буфер приемаРазмер (K, M, G)Пропускная способность128K по умолчанию
SendBuffer=Буфер отправкиРазмер (K, M, G)Пропускная способность128K по умолчанию
IPTOS=IP Type of Servicelow-delay, throughput, reliability, low-costQoSЗависит от сервиса
IPTTL=IP Time To LiveЧислоСетевая безопасность64 по умолчанию
Mark=Метка пакетовЧислоФильтрация iptables0 по умолчанию
ReusePort=Повторное использование портаtrue, falseБалансировка нагрузкиtrue для multi-threaded
FreeBind=Привязка к несуществующему IPtrue, falseУстойчивостьtrue для ранней загрузки
Transparent=Прозрачный проксиtrue, falseПроксированиеfalse по умолчанию
Broadcast=Широковещательные пакетыtrue, falseСетевая безопасностьfalse по умолчанию
PassCredentials=Передача credentialstrue, falseБезопасностьfalse по умолчанию
PassPIDFD=Передача pidfdtrue, falseБезопасностьfalse по умолчанию
PassSecurity=Передача security contexttrue, falseБезопасностьfalse по умолчанию
PassPacketInfo=Передача packet infotrue, falseДиагностикаfalse по умолчанию
AcceptFileDescriptors=Прием file descriptorstrue, falseБезопасностьtrue по умолчанию
Timestamping=Временные меткиoff, us, nsДиагностикаoff по умолчанию
TCPCongestion=Алгоритм контроля перегрузкиwestwood, reno, cubic, lpПропускная способностьcubic по умолчанию
RemoveOnStop=Удаление при остановкеtrue, falseЧистотаfalse по умолчанию
Symlinks=Симлинки на сокетСписок путейУдобствоАналоги сокета
FileDescriptorName=Имя file descriptorСтрокаИдентификацияАвтоматически по умолчанию
TriggerLimitIntervalSec=Интервал лимита срабатыванийСекунды (по умолчанию 2s)DoS защита2s по умолчанию
TriggerLimitBurst=Количество срабатыванийЧислоDoS защитаПо умолчанию
PollLimitIntervalSec=Интервал poll лимитаСекундыDoS защитаДля датаграмных сокетов
PollLimitBurst=Количество poll срабатыванийЧислоDoS защитаДля датаграмных сокетов

Секция [Timer]

Директивы для таймеров.

ДирективаОписаниеЗначенияБезопасностьРекомендации
OnCalendar=Запуск по календарному расписаниюФормат: DayOfWeek Year-Month-Day Hour:Minute:SecondАвтоматический запуск задачИспользуйте вместо cron
OnBootSec=Запуск через N секунд после загрузкиСекунды, time spanНе влияет显著ноПолезно для задач “после загрузки”
OnStartupSec=Запуск через N секунд после запуска PID 1Секунды, time spanАналогичноАналогично
OnUnitActiveSec=Запуск через N секунд после активацииСекунды, time spanАналогичноИнтервальные задачи
OnUnitInactiveSec=Запуск через N секунд после деактивацииСекунды, time spanАналогичноАналогично
OnActiveSec=Запуск через N секунд после активации таймераСекунды, time spanАналогичноАналогично
FixedRandomDelay=Фиксированная случайная задержкаtrue, falseСтабильный сдвиг между запускамиtrue для стабильного расписания
RandomizedOffsetSec=Стабильный случайный сдвиг таймераСекунды, time spanРаспределение нагрузки между клиентамиПолезно для распределённых систем
DeferReactivation=Отложить повторную активацию до завершения задачиtrue, falseПредотвращает наложение запусковtrue для длительных задач
OnClockChange=Срабатывание при изменении часовtrue, falseАвтоматическая коррекцияРедко используется
OnTimezoneChange=Срабатывание при смене часового поясаtrue, falseАналогичноРедко используется
AccuracySec=Точность срабатыванияСекунды, time span (по умолчанию 1min)Меньше = больше нагрузки1min адекватно для большинства задач
RandomizedDelaySec=Случайная задержкаСекунды, time spanРассеивает нагрузку1-5 секунд для cron-задач
Persistent=Запуск пропущенных задач при следующей загрузкеtrue, falseПропущенные задачи будут выполненыtrue для важных задач
WakeSystem=Пробуждение системыtrue, falseВлияет на энергопотреблениеtrue только для задач требующих пробуждения
RemainAfterElapse=Сохранять таймер после срабатыванияtrue, falseНе влияет显著ноtrue по умолчанию

Секция [Mount]

Директивы для точек монтирования.

ДирективаОписаниеЗначенияБезопасностьРекомендации
What=Устройство или ресурс для монтированияПуть к устройству, UUID, UUID=, LABEL=Аналогично fstabОбязательна
Where=Точка монтированияПуть в файловой системеДиректория должна существоватьОбязательна
Type=Тип файловой системыext4, xfs, btrfs, nfs, tmpfs, …Не все типы поддерживаютсяУказывайте явно
Options=Параметры монтированияАналогично fstab optionsnodev, nosuid, noexec для безопасностиИспользуйте safety options
SloppyOptions=Мягкий разбор опцийtrue, falseИгнорирует неизвестные опцииfalse по умолчанию
LazyUnmount=Ленивое размонтированиеtrue, falseОтсоединяет файловую систему сразуПолезно для занятых файловых систем
ReadWriteOnly=Только чтение/записьtrue, falsetrue — не пытаться монтировать read-onlyfalse по умолчанию
ForceUnmount=Принудительное размонтированиеtrue, falseПринудительное отключение NFSИспользуйте только при необходимости
DirectoryMode=Режим каталога точки монтированияВосьмеричный режим (по умолчанию 0755)Контроль доступа0755 по умолчанию
TimeoutSec=Таймаут операции монтированияСекунды, time spanАналогично TimeoutStartSec90s по умолчанию

Секция [Target]

Директивы для targets (группировочных юнитов).

Targets не имеют собственных директивeyond тех, что определены в [Unit] и [Install]. Они используются как точки сборки для зависимостей.

Примеры targets:

  • multi-user.target — многопользовательский режим (без GUI)
  • graphical.target — графический режим
  • network-online.target — сеть доступна
  • basic.target — базовая инициализация завершена