13

IPCセマフォを使用して対話(semget)するプログラムがたくさんあります。

プログラムの1つはApacheモジュールであり、これは(ある種の)制限されたSELinuxコンテキストで実行されます(私はあまりよく理解していません)。

もちろん、ファイルにSELinuxセキュリティコンテキストが適切に設定されている場合、モジュールは通常のファイルと正しく対話できます。

ただし、(モジュール)がIPCセマフォにアクセスしようとすると、semget呼び出しはEPERMで失敗します。SELinuxをオフにすると、このエラーは発生しません。

つまり、SELinuxセキュリティコンテキストのようなものを設定するために、またはこれを機能させるためにセマフォに何かを設定するために、明らかに私がしなければならないことがあります。通常のファイルであれば、「chcon」と呼ぶことができます。System-V IPCセマフォなので、それはできません。

これを機能させるために何ができますか?

4

2 に答える 2

2

SELinuxを必要な変更で動作させるための基本的な手順は次のとおりです。

  1. パーミッシブモードを有効にする
  2. 拒否をキャプチャする
  3. 新しいポリシーモジュールを追加するか、既存のポリシーモジュールを変更します
  4. 施行モードを有効にしてテストする

これらの手順を正確に実行する方法は、使用しているLinuxディストリビューションによって異なります。CentOSDebianGentooRedHatUbuntuのリファレンスは次のとおりです。NSAからSELinux情報を見つけることもできます。私が見つけた最高のドキュメントはGentooからのものです:ステップ1ステップ2ステップ3ステップ4

@smasseyが指摘したように、おそらくIPC権限を変更する必要があります。

于 2011-10-07T13:37:52.400 に答える
0

SELinuxには、通常のファイルだけでなく、デバイスや特殊ファイルの許可設定もあります。

http://seedit.sourceforge.net/doc/access_vectors/access_vectors.html#SECTION00044000000000000000はあなたが探しているものです。「sem」オブジェクトに読み取り/書き込み/etc権限を付与します。

乾杯

于 2011-10-07T09:26:19.787 に答える