capsudo - オブジェクト権限モデルで設計されたミニマルな sudo 代替
(github.com/kaniini)- 従来の sudo/doas のユーザー・ルールベースの権限モデルの代わりに、オブジェクト権限モデル(Object-Capability Model) を適用し、権限委譲を単純化
- 権限を設定ファイルではなく、ソケット自体がそのまま capability になる 構造で表現
capsudodが特定のコマンドを実行できる 権限ソケットを作成 して待機capsudoはそのソケットにアクセスし、事前にバインドされたコマンドのみ実行 可能
- ソケットの ファイル権限(所有者・グループ・モード) だけで、誰が何を実行できるかを明確に制御
- ユーザー・コマンドのマッチングルール、パーサー、複雑なポリシー言語なしに、Unix 権限モデルに自然に統合
- 特定ユーザーに reboot だけを許可するなど、単一目的の権限委譲 に特に適している
# capsudod -s /home/user/reboot-capability reboot & # chown user:user /home/user/reboot-capability && chmod 700 /home/user/reboot-capability $ capsudo -s /home/user/reboot-capability - Alpine Linux のような ミニマルなシステム環境 で sudo/doas の代替として使いやすい
- 「誰が実行できるか」よりも 「誰がこの capability を所有しているか」 に焦点を当てた設計
2件のコメント
https://github.com/kaniini/capsudo
あっ、
/を1つ書き忘れていました… 修正しておきました。