SELinuxによって引き起こされる奇妙なaudit2whyメッセージ

SELinuxによって引き起こされる奇妙なaudit2whyメッセージ

私が走るとき2つの理由のレビューSCP経由でフォルダにファイルをアップロードしようとして失敗する理由を確認してください。/foo/バーリモートサーバーでは、次の結果が発生します。/foo/bar フォルダへのアクセスが拒否されました。、次のテキストが表示されます。

 

Was caused by:
                Unknown - would be allowed by active policy
                Possible mismatch between this policy and the one 
under which the audit message was generated.

                Possible mismatch between current in-memory 
boolean settings vs. permanent ones.

 

私はそれが原因であるにちがいないことを知っています。SELinuxコマンドを実行するとき:

setenforce 0

SCPを介してファイルをアップロードできます。/foo/バー。また注目すべき点は、SSH経由でログインするとCDフォルダへ/foo/バーSELinuxを有効にすると、このフォルダにファイルを作成できます。

 

SELinuxで問題の原因が何であるかを確認するには、どのようにデバッグしますか?

編集する

ls -lZこれはの出力です/foo/バー

drwxrwx--T. root foo-users user_u:object_r:default_t:s0     bar

そして出力はAVCが拒否されました~からaudit2allow

type=AVC msg=audit(1519304988.434:6984): avc:  denied  { write } for  pid=26506 comm="scp" name="event-20180203.log.gz" dev="dm-4" ino=7260 scontext=user_u:user_r:user_t:s0 tcontext=user_u:object_r:default_t:s0 tclass=file
    Was caused by:
        Unknown - would be allowed by active policy
        Possible mismatch between this policy and the one under which the audit message was generated.

ベストアンサー1

AVCはこう言います。

$ echo "type=AVC msg=audit(1519304988.434:6984): avc:  denied  { write } for  pid=26506 comm="scp" name="event-20180203.log.gz" dev="dm-4" ino=7260 scontext=user_u:user_r:user_t:s0 tcontext=user_u:object_r:default_t:s0 tclass=file" |audit2allow     
#============= user_t ==============
#!!!! WARNING: 'default_t' is a base type.
allow user_t default_t:file write;

==> user_t SElinuxコンテキスト型で実行されているプロセスがdefault_t型のディレクトリに書き込もうとしています。

この問題を解決する別の方法は次のとおりです。

  • user_tが書き込むことができるようにターゲットディレクトリを表示します。

    $ sesearch -s user_t --allow |grep "file.*write"

    ファイル書き込み操作に許可されているターゲットコンテキストが表示されます。たとえば、foo / barはホワイトリストにssh_home_tとして表示できます。

    $ sudo chcon -R -t ssh_home_t /foo/bar

  • または、可能であれば、ターゲットディレクトリを許可されたディレクトリに変更します。

  • あるいは、audit2allowを使用して制御を迂回する新しいルールを作成することもできますが、これは権限を開いてSELinuxの目標を無効にするため、最後の手段になるはずです。 「望むよりhttp://selinuxproject.org/page/Audit2allowRecipe)

おすすめ記事