Леннарт Поттеринг представил (https://lists.freedesktop.org/archives/systemd-devel/2018-Ju...) релиз системного менеджера systemd 239 (http://www.freedesktop.org/software/systemd/). Из новшеств можно отметить реализацию системы переносимых сервисов, изменение наименования виртуальных сетевых интерфейсов, усиление защиты системных сервисов, поддержку DNS-over-TLS, режим suspend-then-hibernate, возможность сохранения дампа памяти при спящем режиме в файлы подкачки.Основные изменения:
- Представлена экспериментальная поддержка переносимых сервисов ("Portable Services"), позволяющих создавать системные сервисы в виде самодостаточных контейнеров. Переносимый сервис поставляется в виде системного образа, но обрабатывается как обычный сервис. Из достоинств переносимых сервисов отмечается возможность упаковки одного или нескольких приложений, сервисов и связанных с ними зависимостей в отдельный образ, с возможностью запуска компонентов с применением дополнительной sandbox-изоляции.
При этом, в отличие от контейнеров переносимые сервисы не запускаются в отдельном изолированном окружении со своим PID 1, а представляют из себя часть системы (выполняются в текущем системном окружении), отделённую в независимую самодостаточную иерархию каталогов. Для управления переносимыми сервисами предложена утилита "portablectl" (/usr/lib/systemd/portablectl). Для создания образов можно применять любые инструменты для формирования начинки контейнеров, такие как "dnf --installroot", "debootstrap" и "mkosi";
- В systemd-resolved добавлена поддержка резолвинга доменных имён с использованием механизма DNS-over-TLS, при котором применяется штатный протокол DNS (обычно используется сетевой порт 853), завёрнутый в шифрованный канал связи, организованный при помощи протокола TLS с проверкой валидности хоста через TLS/SSL-сертификаты, заверенные удостоверяющим центром. Для активации DNS-over-TLS следует явно выставить в настройках resolved.conf параметр "DNSOverTLS=opportunistic" (по умолчанию поддержка отключена до внесения оптимизаций, направленных на сокращение задержек из-за дополнительных накладных расходов по установке TLS-сеанса поверх TCP);
- Реализован режим suspend-then-hibernate, при котором система вначале переходит в ждущий режим, но в случае непробуждения в течение определённого таймаута активируется и уходит в глубокий спящий режим;
- Обеспечена возможность использования файлов подкачки, а не только разделов подкачки, для сохранения дампа памяти во время перехода в спящий режим;
- Изменено наименование виртуальных сетевых интерфейсов, созданных с использованием технологий SR-IOV ( Single Root Input/Output Virtualization) и NPAR (NIC Partitioning), а также для устройств, PCI-контроллер которых не выставляет номер слота. Имена устройств SR-IOV теперь устанавливаются с учётом имени родительского сетевого интерфейса с добавлением суффикса "vN", где N - номер интерфейса. Все виртуальные устройства NPAR теперь именуются по единой схеме (ранее начиная с 9 устройства назначались имена ethN). Для PCI-устройств без номера слота выбирается имя в соответствии со схемой "net_id", вместо определяемых ядром имён ethN;
- Все длительно работающие системные сервисы переведены по умолчанию на использование белого списка системных вызовов, т.е. если раньше был определён список блокируемых опасных системных вызовов, а все остальные вызовы были разрешены, то теперь задан список разрешённых вызовов, а все остальные запрещены;
- В system.conf предложена новая настройка NoNewPrivileges, которая позволяет отключить получение новых привилегий (выставить флаг PR_SET_NO_NEW_PRIVS для PID 1), что не позволяет исполняемым файлам с setuid и выставленными capabilities менять свои привилегии;
- Вывод systemctl и других утилит теперь включает escape-последовательности, позволяющие отобразить доступные для клика ссылки в разных терминалах (например в выводе "systemctl status" теперь можно кликнуть на имени юнита для вызова программы для его просмотра или редактирования;
- В файлы ".network" в секцию [Route] добавлены новые опции IPv6MTUBytes и MTUBytes для явного выставления MTU для определённых маршрутов, а также добавлена опция "UserClass" для определения класса пользователя в DHCP, опции Multicast и AllMulticast для выставления для сетевого интерфейса флагов MULTICAST и ALLMULTI, а также новая секция "[CAN]" с настройками CAN-сетей;
- В файлах ".link" появились опции RxChannels, TxChannels, OtherChannels и CombinedChannels= для определения числа принимающих и передающих каналов;
- В файлах ".netdev" появилась возможность создания интерфейсов "netdevsim";
- В systemd-analyze добавлена новая команда "cat-config" для вывода содержимого любых файлов конфигурации, соответствующих маске. Например, "systemd-analyze cat-config systemd/system.conf" выдаст содержимое всех файлов конфигурации, которые обрабатываются при запуске процесса PID 1. В утилиты, подобные systemd-tmpfiles и
systemd-sysusers, добавлена опция "--cat-config", позволяющая просмотреть все настройки, утчённые данными утилитами. Например, "systemd-tmpfiles --cat-config" покажет в одном месте все строки файлов в "tmpfiles.d/";
- В systemd-nspawn добавлены опции: "--rlimit" для определения начальных лимитов ресуросов для процессов в контейнере, "--hostname" для переопределния имени хоста контейнера, "--no-new-privileges" для выставления флага PR_SET_NO_NEW_PRIVS (отключение suid и capabilities), "--oom-score-adjust" для корректировки поведения в случае нехватки памяти, "--cpu-affinity" для настройки привязки к ядрам CPU, "--resolv-conf" для управления обработкой /etc/resolv.conf, "--timezone" для управления обработкой /etc/localtime. В systemd-detect-virt добавлена опция "--list" для вывода всех известных виртуальных машин и контейнеров;
- В systemd-logind.service убраны ограничения для сокетов AF_INET и AF_INET6 (убраны из настройки RestrictAddressFamilies), но данное изменение не повлияет на безопасность так как начиная с выпуска 235 для юнитов также выставляется дублирующая блокировка "IPAddressDeny=any" и изменение поведения может наблюдаться только в случае изменения настроек по умолчанию;
- При указании нескольких настроек RestrictNamespaces в юните, данные настройки теперь объединяются (ранее действовало только последнее значение RestrictNamespaces);
- При использовании для сервисных юнитов комбинации настроек OnFailure и Restart, то обработчик сбоя больше не вызывается в случае автоматического перезапуска (ранее такое поведение было определено в документации, но на деле обработчик сбоя вызывался);
- В systemd-tmpfiles добавлен вывод предупреждения в случае упоминания в файлах "tmpfiles.d/" каталога "/var/run/", вместо которого предлагается использовать каталог "/run";
- Команды systemctl disable/unmask/preset/preset-all теперь запрещено использовать с опцией "--runtime", так как результат зачастую был не тем, что ожидал пользователь. При выполнении "systemctl disable/unmask" сейчас возвращается состояние как сеансовых (runtime), так и постоянных настроек, т.е. удаляются символические ссылки, как в каталоге /run, так и в /etc;
- В sd-boot добавлены новые настройки загрузчика, позволяющие опционально отключить поиск загрузочных разделов Windows и macOS и отображение в загрузочному меню режима reboot-into-firmware. Также можно изменить разрешение экрана при загрузке (например для HiDPI);
- В systemd-resolved.service и systemd-networkd.service по умолчанию выставлена настройка DynamicUser=yes для работы с использованием динамически генерируемого идентификатора пользователя вместо заранее определённых системных пользователей;
- Утилита systemd-resolve переименована в resolvectl, а интерфейс приведён в соответствие с другими утилитами *ctl, такими как systemctl и loginctl (для обеспечения обратной совместности утилита systemd-resolve сохранена). Кроме того, в утилиты resolvectl/systemd-resolve добавлены опции для совместимости с утилитой 'resolvconf', предлагаемой в Debian и FreeBSD;
- В networkd в настройке ClientIdentifier теперь допустимо использовать опцию "duid-only", при которой клиент будет отправлять только идентификатор DUID;
- В nss-syst...
URL: https://lists.freedesktop.org/archives/systemd-devel/2018-Ju...
Новость: https://www.opennet.ru/opennews/art.shtml?num=48823