/etc/security/capability.confでグループを指定することはできますか?


2

私は再び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

現在これは可能ですか?


Fedoraはすでにこれを行っています。
ヨルダン

ええ、/ bin / pingには機能が設定されており、そうではないのですが、私の質問は、機能をバイナリに置くことに関する特定の部分よりも、グループメンバーシップによる機能の割り当てに関するものです。それは私の最終目標を説明するための単なる裏話でした。また、まだ設定されていないRHELを使用しています(Fedoraにある場合は、RHEL7に搭載される可能性があると思います)。
ブラッチリー

また、彼らがプログラムを呼び出すユーザーに敏感であるように+ eiの代わりにすべての人に機能を提供するために、彼らが+ epをしていることに気づいています。
ブラッチリー

この記事では、pamを使用して、すべての機能がグループに割り当てられるのをブロックする方法について説明します。blog.sevagas.com/…関連する部分のさらなる議論への参照があります:friedhoff.org/posixfilecaps.html blog.sevagas.com/POSIX-file-capabilities-the-dark-side残念ながら私はここにいる「同じ質問の答えを探しています。今週末の残りのほとんどは公園と図書館に行きます... ...しかし、グループを使用してすべての機能をブロックできる場合は、賢明に見えますpersu続行するには
0x0065

回答:


2

あなたがしたいことは不可能です。だけでなくpam_capだけで継承機能を操作し、それはまた、ユーザーだけではなくグループ(いなくても、プライマリグループ)を扱う(それは実際にはまったく許さ/効果的な機能を付与するものではありません)。


より完全な答えが得られない場合、これを答えとしてマークし、それが正しいと思うのでそれを支持しますが、報奨金を与えるためには、何らかの裏付けのドキュメントが必要です(これは、報奨金)最終的にこれは何か他の人がオンラインで何かを投稿することです。
ブラチリー

1
私が持っている唯一のドキュメントはpam_pcap.c、答えを見つけるために読んだものです(似たようなことをしたいです)。グループをまったく扱いません。また、ファイル内のコメント(およびコード)には、継承可能な機能のみが処理されると書かれています。
デニスカースメーカー

0

capability.confをグループに直接割り当てることができると述べるドキュメントはありません。

これはpam_capが認証プロセスから特権を「取り除く」必要性の産物のようです。これは、すぐに「チェック不能な構造」になる可能性があるため、累積加算マッピングを持つのが賢明ではない傾向があります。したがって、capability.confによる割り当ては累積されません。あなたが試合をヒットした場合、それはあなたが得るものです。これ以上でもそれ以下でもありません。

とは言うものの:

  • /etc/security/capability.confの形式の任意のファイルから機能をロードするようにpam_capを構成することが可能です

  • pam config内でスクリプトを使用することは可能です。グループメンバーシップに基づいて、認証ユーザーのユーザーごとにcapability.confファイルを生成し、それをpam_capモジュールにフィードすることは、合理的に簡単です。

それは「エレガント」でも「理想的」でもありませんが、LDAPベースの大規模なユーザーベースでは、有効なユーザーと単一の/ etcのユーザーごとのフルテキストエントリ間で「レイヤー8ゼリーウェアを介して同期する」よりもおそらくチェック可能です/security/capability.conf。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.