テクノロジー · 実用ガイド
systemd の status=218/CAPABILITIES?マネージャー、カーネル、能力集合を先に証明
プログラムはまだ実行されていない可能性があります。最初の journal、実効 unit、system/user/container の境界を保存し、無効と証明した能力遷移だけを変更します。

218/CAPABILITIES は、systemd が実行前に capability を落とす、または ambient capability を設定できなかったことを示します。
全ハードニング削除、root 実行、CAP_SYS_ADMIN 付与から始めず、失敗段階と実行境界を特定します。
最初の capability 段階証拠を保存
最初の status と journal を保存し、drop、ambient、namespace のどれか、systemctl か --user かを記録します。
高速再起動を止め、FragmentPath、DropInPaths、manager を保存して継承設定を見落としません。
実効 unit の能力制御を全部読む
BoundingSet、Ambient、NoNewPrivileges、SecureBits、PrivateUsers、User= を実効 unit から読みます。
ambient は permitted と inheritable に依存し、bounding set も要求を遮断します。
manager・kernel・container 境界を特定
PID 1、user manager、container、旧 kernel/systemd のどれかを分類し同じ境界で再現します。
user manager は namespace、container は外側 policy と bounding set を確認します。
権限を広げず証明した矛盾だけ修正
manager、継承設定、集合、証明済み互換性、container policy の一つだけ直します。
全能力や CAP_SYS_ADMIN を代用せず、不要なら要求を削除して理由を記録します。
一度起動し実能力と作業を確認
unit 変更時だけ同じ manager を reload し、一度開始して新 journal を読みます。
PID の四集合を確認し、実際の bind や tun/tap 操作を一つ成功させ、余分な権限がないことを確かめます。
