Что такое $ OPTIONS в системном файле systemd?

Я просматриваю следующую строку в файле /usr/lib/systemd/system/sshd.service в поле Fedora 25:

 ExecStart=/usr/sbin/sshd -D $OPTIONS 

Я не уверен, откуда $OPTIONS . Он выглядит как переменная среды, хотя, когда я устанавливаю переменную оболочки таким образом, она игнорируется, например

 # OPTIONS='-p 9999' # systemctl start sshd 

Я прочитал часть командной строки на странице systemd.service man, которая указывает, что переменные окружения могут быть установлены через линию Environment :

 Environment="ONE=one" 'TWO=two two' 

Однако такой переменной OPTIONS нет.

Кроме того, существует строка EnvironmentFile , например:

 EnvironmentFile=-/etc/sysconfig/sshd 

Нет переменной $OPTIONS . К чему относятся $OPTIONS , и как он устанавливается?

One Solution collect form web for “Что такое $ OPTIONS в системном файле systemd?”

Файл блока в Debian аналогичен, содержащий:

 [Service] EnvironmentFile=-/etc/default/ssh ExecStart=/usr/sbin/sshd -D $SSHD_OPTS ExecReload=/bin/kill -HUP $MAINPID и [Service] EnvironmentFile=-/etc/default/ssh ExecStart=/usr/sbin/sshd -D $SSHD_OPTS ExecReload=/bin/kill -HUP $MAINPID по [Service] EnvironmentFile=-/etc/default/ssh ExecStart=/usr/sbin/sshd -D $SSHD_OPTS ExecReload=/bin/kill -HUP $MAINPID 

Здесь EnvironmentFile назначает SSHD_OPTS :

 # Options to pass to sshd SSHD_OPTS= 

Скорее всего, Fedora использует подобную систему, но по какой-то причине они просто не указали явную переменную. Это не имеет значения, оно должно расширяться до пустой строки.

Здесь упоминается, что, например, httpd.service использует OPTIONS аналогично, и устанавливает его в /etc/sysconfig/httpd . Так что по какой-то причине это скорее всего не работает.

Вы можете проверить командную строку sshd с помощью ps чтобы узнать, к какой переменной добавлена ​​переменная, а также установить ее в файл sysconfig, чтобы проверить, работает ли она, если она установлена.


Что касается установки переменной окружения в командной строке оболочки, AFAIU systemd не запускает службы в среде оболочки, вызывающей systemctl , но systemctl их из основного процесса systemd. Таким образом, они не наследуют настройки среды оболочки даже случайно. Переменные среды могут иметь широкий спектр эффектов, и было бы неприятно, если бы ваши службы действовали по-разному в зависимости от того, запускаются они при загрузке системы или перезапускаются из командной строки.

Однако этот $MAINPID особенный .

  • dhcpcd не может запускаться при загрузке
  • Systemd automount vs autofs
  • Ноутбук перезагружается, а не возобновляет работу с systemd suspend при питании от батареи (приостановка работы от сети переменного тока работает)
  • Можно ли использовать systemd для запуска и остановки службы на основе наличия файла?
  • как я могу запланировать запуск специального скрипта при каждом перезапуске службы
  • Файл системы Systemd Synergy
  • Как использовать SystemD для запуска игрового сервера 24/7?
  • в чем разница между / usr / lib и / etc / systemd?
  • Как решить systemd (code = exited, status = 227 / NO_NEW_PRIVILEGES)?
  • Как очистить записи журнала для конкретного устройства?
  • Не уверен, что запустит этот файл systemd unit
  • Пустой выходной файл в файле systemd
  • Interesting Posts

    Правила iptables для двух разных контейнеров lxc

    Как logctl подписывает журналы, если «ключ проверки должен храниться извне»??

    Как изменить размер раздела в Linux Ubuntu без потери данных?

    найти командную помощь

    apt-get не удалось развить в UML (пользовательский режим Linux)

    Как удалить значения $ VAR2 из $ VAR1 и вывести оставшиеся значения в $ VAR3?

    Firefox пытается автоматически определить кодировку во время резервного копирования

    Почему gcc не может найти libevent при построении tmux из исходного кода?

    динамический поиск zip-файлов в определенном пути и разархивировать его в той же папке с распакованными файлами?

    Можно ли использовать полный Ubuntu на загрузочном жестком диске?

    Изменение цвета текста Nemo с использованием темы GTK 3.20+

    Способы аутентификации, разрешенные по умолчанию в OpenSSH на Alpine

    Как зонально обновляется, если вообще?

    Обратный туннель SSH работает для SSH, но не для HTTP

    Как включить команды в PS1 Bash без расчета длины строки?

    Linux и Unix - лучшая ОС в мире.