Watch at Ease看見世界,讀懂生活。

科技 · 實用指南

systemd 顯示 status=218/CAPABILITIES?先證明管理器、核心與能力集合

程式可能根本未執行。保存第一條 journal 錯誤、讀取生效 unit、區分系統、使用者與容器邊界,只修改證據證明無效的能力轉換。

systemd 顯示 status=218/CAPABILITIES?先證明管理器、核心與能力集合
原創示意圖:保存首次 status 與 journal,區分 drop、ambient、namespace 失敗,並記錄 systemctl 或 --user。 Watch at Ease

218/CAPABILITIES 表示 systemd 在執行程式前無法丟棄能力或套用 ambient capabilities,應用程式日誌可能尚未產生。

不要先刪除全部加固設定、改用 root 或授予 CAP_SYS_ADMIN。先鎖定失敗步驟與執行邊界。

保存第一條能力階段證據

保存首次 status 與 journal,區分 drop、ambient、namespace 失敗,並記錄 systemctl 或 --user。

先停快速重啟,保存 FragmentPath、DropInPaths 與管理器,避免漏掉繼承設定。

讀取生效 unit 的所有能力控制

讀取 BoundingSet、Ambient、NoNewPrivileges、SecureBits、PrivateUsers、User= 與執行檔。

比較 systemd 要建立的集合;ambient 依賴 permitted 與 inheritable,bounding 也會限制它。

定位管理器、核心與容器邊界

區分 PID 1、使用者管理器、容器或舊版本組合,只在相同邊界重現。

使用者管理器檢查命名空間支援;容器檢查外層策略與 bounding set。

只修一個已證明矛盾,不擴權

只修管理器、繼承設定、集合成員、已證明相容性或容器策略之一。

不要用全部能力或 CAP_SYS_ADMIN 取代窄需求;不需要的能力應移除並說明。

啟動一次並驗證即時能力與工作

變更 unit 後才 reload,必要時清速率限制,單次啟動並讀新 journal。

核對四個能力欄位,再完成一次真正需要能力的操作,確認未增加無關權限。

systemd 顯示 status=218/CAPABILITIES?先證明管理器、核心與能力集合
原創示意圖:核對四個能力欄位,再完成一次真正需要能力的操作,確認未增加無關權限。 Watch at Ease