systemd 245 可用於便攜式主目錄實現

經過三個月的開發 提出了 系統管理員發布 systemd 245。 在新版本中,新增了新元件systemd-homed和systemd-repart,包括對JSON格式的可移植使用者設定檔的支持,提供了在systemd-journald中定義命名空間的能力,並新增了對“pidfd”機制的支持。 完全重新設計 項目網站,它收集了大部分可用的文檔並提出了一個新的徽標。

systemd 245 可用於便攜式主目錄實現

主要的 變化:

  • 新增服務 系統宿主,它提供對便攜式主目錄的管理,以安裝的映像檔的形式提供,其中的資料是加密的。 Systemd-homed 可讓您為使用者資料建立獨立的環境,這些資料可以在不同系統之間傳輸,而無需擔心識別碼同步和機密性。 使用者憑證與主目錄而不是系統設定相關聯 - 使用 格式的設定檔而不是 /etc/passwd、/etc/group 和 /etc/shadow JSON。 有關更多詳細信息,請參閱 最後公告 systemd-homed。
  • 新增了 systemd-homed 配套組件“使用者資料庫」(「systemd-userdb」),它將 UNIX/glibc NSS 帳戶轉換為 JSON 記錄,並提供統一的 Varlink API 用於查詢和迭代記錄。 與主目錄關聯的 JSON 設定檔指定使用者工作所需的參數,包括使用者名稱、密碼雜湊、加密金鑰、配額和配置的資源。 此設定檔可以透過儲存在外部 Yubikey 令牌上的數位簽章進行認證。 為了管理配置文件,建議使用“userdbctl”實用程式。 各種 systemd 元件(包括 systemd-logind 和 pam-systemd)增加了對 JSON 設定檔的支持,允許可移植目錄的使用者進行身份驗證、登入、設定環境變數、建立會話、設定限制等。 將來,預計 sssd 框架將能夠使用儲存在 LDAP 中的使用者設定來產生 JSON 設定檔。
  • 新增了一個新的實用程式“systemd-repart”,旨在以 GPT 格式重新分割磁碟分割表。 分區結構透過描述哪些分區應該或可以存在的檔案以聲明形式定義。 每次啟動時,會將實際分割區表與這些檔案進行比較,然後新增遺失的分割區,或者,如果設定中定義的相對或絕對大小不匹配,則增加現有分割區的大小。 只允許增量更改,即無法刪除和縮小分割區,只能新增和擴大分割區。
    該實用程式設計為從 initrd 啟動,並自動偵測根分割區所在的磁碟,除了具有變更定義的檔案之外,不需要其他配置。

    在實踐中,systemd-repart 對於最初可能以最小形式發布的作業系統映像非常有用,並且在第一次啟動後可以擴展到現有區塊設備的大小或補充額外的分區(例如,根分區)分區可以擴展到覆蓋整個磁碟,或在首次啟動後建立交換分割區或/home)。 另一種用途是具有兩個旋轉分割區的配置 - 最初可能僅提供第一個分割區,而第二個分割區將在第一次引導時建立。

  • 現在可以啟動 systemd-journald 的多個實例,每個實例都會將日誌保存在自己的命名空間中。 除了主 systemd-journald.service 之外,.service 目錄還提供了一個模板,用於使用「LogNamespace」指令建立綁定到其名稱空間的其他實例。 每個日誌命名空間都由一個單獨的後台程序提供服務,並具有自己的一組設定和限制。 所提出的功能對於大量日誌的負載平衡或增強應用程式隔離可能很有用。 在journalctl中新增了「--namespace」選項,以將查詢限制為僅指定的命名空間。
  • Systemd-udevd 和其他 systemd 元件增加了對網路介面分配備用名稱的機制的支持,允許一個介面同時使用多個名稱。 此名稱最多可包含 128 個字元(以前,網路介面名稱僅限於 16 個字元)。 預設情況下,systemd-udevd 現在會為每個網路介面指派由支援的命名方案產生的所有變體名稱。 可以透過 .link 檔案中的新 AlternativeName 和 AlternativeNamesPolicy 設定來變更此行為。 systemd-nspawn 使用主機端建立的 veth 連結的完整容器名稱來產生替代名稱。
  • sd-event.h API 增加了對 Linux 核心子系統「pidfd」的支持,以處理 PID 重用的情況(pidfd 與特定進程關聯並且不會改變,而 PID 可以與當前進程之後的另一個進程關聯)與其關聯的退出此PID)。 如果目前核心支援子系統,則除 PID 1 之外的所有 systemd 元件都已轉換為使用 pidfds。
  • systemd-logind 透過 PolicyKit 為虛擬終端變更操作提供存取檢查。 預設情況下,僅向在本機虛擬終端上至少發起過一次會話的使用者授予更改活動終端的權限。
  • 為了更輕鬆地使用 systemd 建立 initrd 映像,PID 1 處理程序現在會偵測 initrd 是否正在使用,在這種情況下會自動載入 initrd.target 而不是 default.target。 透過這種方法,initrd 和主系統映像僅在 /etc/initrd-release 檔案是否存在方面有所不同。
  • 新增了新的核心命令列參數 - “systemd.cpu_affinity”,相當於 /etc/systemd/system.conf 中的 CPUAffinity 選項,可讓您為 PID 1 和其他進程配置 CPU 親和力遮罩。
  • 透過「systemctl daemon-reload」等指令啟用 SELinux 資料庫的重新載入以及重新啟動 PID 1。
  • 「systemd.show-status=error」設定已新增至 PID 1 處理程序中,設定後,控制台上僅顯示載入期間的錯誤訊息和顯著延遲。
  • systemd-sysusers 新增了對建立具有與使用者名稱不同的主群組名稱的使用者的支援。
  • 除了先前支援的 Ext4 和 Btrfs 分區擴充之外,systemd-growfs 還透過 /etc/fstab 中的 x-systemd.growfs 掛載選項引入了對 XFS 分區擴充的支援。
  • 在 /etc/crypttab 中新增了 x-initrd.attach 選項,以定義在 initrd 階段已解鎖的加密分割區。
  • systemd-cryptsetup 新增了使用 PKCS#11 智慧卡解鎖加密分割區的支援(/etc/crypttab 中的選項 pkcs11-uri),例如將分割區加密附加到 YubiKeys。
  • 新的掛載選項「x-systemd.required-by」和「x-systemd.wanted-by」已新增至/etc/fstab中,以明確配置定義要呼叫的掛載操作的單元,而不是local -fs.target和remote -fs .目標。
  • 新增了新的服務沙箱選項 - ProtectClock,它限制對系統時脈的寫入(在 /dev/rtc、系統呼叫和 CAP_SYS_TIME/CAP_WAKE_ALARM 權限層級阻止存取)。
  • 按規格 可發現的分區 和 systemd-gpt-auto-generator 新增了分區檢測
    /var 和 /var/tmp。

  • 在「systemctl list-unit-files」中,當顯示單元清單時,會出現一個新列,反映製造商針對此類單元的預設中所提供的啟用狀態。
  • 「systemctl」中新增了「--with-dependencies」選項,安裝後,「systemctl status」和「systemctl cat」等指令不僅會顯示所有對應的單元,還會顯示它們所依賴的單元。
  • 在systemd-networkd中,qdisc配置加入了配置TBF(令牌桶過濾器)、SFQ(隨機公平佇列)、CoDel(受控延遲主動佇列管理)和FQ(公平佇列)參數的功能。
  • systemd-networkd 增加了對 IFB 網路設備的支援(中間功能塊).
  • Systemd-networkd 實作 [Route] 部分中的 MultiPathRoute 參數來配置多路徑路由。
  • 在 DHCPv4 用戶端的 systemd-networkd 中,新增了 SendDecline 選項,指定後,在收到帶有位址的 DHCP 回應後,將執行重複位址檢查,如果偵測到位址衝突,則拒絕頒發的位址。 RouteMTUBytes 選項也已新增至 DHCPv4 用戶端,可讓您確定從 IP 位址綁定(租用)產生的路由的 MTU 大小。
  • .network 檔案的 [Address] 部分中的 PrefixRoute 設定已被棄用。 它被“AddPrefixRoute”設定取代,其含義相反。
  • 在.network檔案中,「[Route]」部分的網關設定中新增了對新值「_dhcp」的支持,設定後,將根據透過DHCP設定的網關選擇靜態路由。
  • 設定已出現在 .network 檔案的「[RoutingPolicyRule]」部分中
    User 和 SuppressPrefixLength 根據 UID 範圍和前綴大小指定來源路由。

  • 在networkctl中,「status」指令提供了顯示與每個網路介面相關的日誌的能力。
  • systemd-networkd-wait-online 新增了對設定等待介面可操作和等待介面關閉的最長時間的支援。
  • 停止處理帶有有空或註解掉的「[Match]」部分的 .link 和 .network 檔案。
  • 在 .link 和 .network 檔案中的「[Match]」部分中,新增了「PermanentMACAddress」設置,用於在使用產生的隨機 MAC 的情況下檢查設備的永久 MAC 位址。
  • .network 檔案中的“[TrafficControlQueueingDiscipline]”部分已重新命名為“[NetworkEmulator]”,並且已從關聯設定的名稱中刪除“NetworkEmulator”前綴。
  • DNS-over-TLS 的 systemd-resolved 新增了對 SNI 檢查的支援。

來源: opennet.ru

添加評論