私はインスピレーションを得てLinux機能を再試行し始めましたが、私のお気に入りのプロジェクトは多くのバイナリでsetuidを置き換え、root以外のユーザーに他の特権ユーティリティへのアクセスを提供しています。関連機能(+ei
質問の余地があります+ep
)を追加し、setcap
個人用ユーザーアカウント(jdavis4
)を設定してログイン時にその機能をセッションに割り当てることで、これはうまくいきpam_cap.so
ました。 Capability.confを使用すると、個々のユーザーに「ping」および「kill」アクセス権を付与できます。
しかし、これに関する問題は、これが本番システムである場合は、管理者がある種の集計単位を介して機能を展開したいと思うので、システムを作成するたびに個々のユーザーごとにこれを行う必要がないことです。 。このようにして、ユーザーは単に「filesystemAdmin」グループに追加し、CAP_DAC_OVERRIDE
「ProcessManagement」に追加することで、CAP_SYS_NICE
同じことを取得できますCAP_SYS_KILL
。
現在これは可能ですか?
答え1
@group
sの構文サポートを追加しました。この記事を書く時点では、pam_cap.so
capability.conf
libcap-2.29
libcap
バージョンは2.49です。。
書類も少しありますpam_cap.so
ここ。
答え2
あなたがしたいことは不可能です。継承可能なスキルを操作するだけでなく、pam_cap
(したがって、実際には許可または有効なスキルをまったく付与しません)、グループではなくユーザーだけを処理します(デフォルトグループではありません)。
答え3
Capability.confをグループに直接割り当てることができるという文書が見つかりません。
これは、認証プロセスで権限を「削除」する必要があるpam_capのニーズに応じたアーティファクトのようです。これは「フル」機能であるか、それを行うのに十分です。これはマッピングを累積的に蓄積する傾向を生み出し、これはすばやく「検査できない構造」になる可能性があるため、賢明ではないようです。したがって、 Capability.conf による割り当ては累積されません。あなたがマッチを打つならば、それはあなたが得るものです。それ以上も以下でもない。
こう言ってみてください。
pam_capは、/etc/security/capability.conf形式のすべてのファイルから機能をロードするように構成できます。
pam設定でスクリプトを使用できます。認証されたユーザーのグループメンバーシップに基づいてユーザーのユーザー固有のCapability.confファイルを作成し、それをpam_capモジュールに提供することは非常に簡単です。
「エレガンス」または「理想的」ではありませんが、大規模なLDAPタイプのユーザーグループの場合、有効なユーザーと単一の/ etcの各ユーザーの全文項目間の「階層8ゼリーウェアを介した同期」より簡単にすることができます。 /security/capability を確認してください。 conf。