タイプに影響するすべてのselinuxルール/デフォルトファイルコンテキスト/その他を照会するにはどうすればよいですか


10

実行中のシステムの現在のルールで、selinuxタイプに関連するすべてを知る必要があります

  • allow、allowaudit、dontauditルール。
  • タイプを使用したコンテキストでラベル付けされたファイル。
  • 遷移。

...その他の情報。

その情報を照会するために使用できるコマンドはありますか、またはすべてのselinux関連の「src」パッケージをダウンロードし、使用されていないモジュールを除外して、その情報のすべてのファイルをgrepする必要がありますか?それを行う簡単な方法がなければなりません。

回答:


10

この情報を取得するためのコマンドの一部を次に示します(使用例httpd_log_t)。

  1. seinfo

    # seinfo -x --type=httpd_log_t /etc/selinux/default/policy/policy.26
       httpd_log_t
          file_type
          non_security_file_type
          logfile
    
  2. sesearch

    # sesearch --dontaudit -t httpd_log_t /etc/selinux/default/policy/policy.26 | head
    Found 35 semantic av rules:
        dontaudit run_init_t file_type : dir { getattr search open } ;
        dontaudit staff_t non_security_file_type : file getattr ;
        dontaudit staff_t non_security_file_type : dir { ioctl read getattr lock search open } ;
        dontaudit staff_t non_security_file_type : lnk_file getattr ;
        dontaudit staff_t non_security_file_type : sock_file getattr ;
        dontaudit staff_t non_security_file_type : fifo_file getattr ;
        dontaudit unconfined_t non_security_file_type : file getattr ;
        dontaudit unconfined_t non_security_file_type : dir { ioctl read getattr lock search open } ;
        dontaudit unconfined_t non_security_file_type : lnk_file getattr ;
    
  3. semanage

    # semanage fcontext -l | grep httpd_log_t
    /etc/httpd/logs                                    all files          system_u:object_r:httpd_log_t:s0
    /var/log/apache(2)?(/.*)?                          all files          system_u:object_r:httpd_log_t:s0
    /var/log/apache-ssl(2)?(/.*)?                      all files          system_u:object_r:httpd_log_t:s0
    /var/log/cacti(/.*)?                               all files          system_u:object_r:httpd_log_t:s0
    /var/log/cgiwrap\.log.*                            regular file       system_u:object_r:httpd_log_t:s0
    /var/log/horde2(/.*)?                              all files          system_u:object_r:httpd_log_t:s0
    /var/log/httpd(/.*)?                               all files          system_u:object_r:httpd_log_t:s0
    /var/log/lighttpd(/.*)?                            all files          system_u:object_r:httpd_log_t:s0
    /var/log/piranha(/.*)?                             all files          system_u:object_r:httpd_log_t:s0
    /var/www(/.*)?/logs(/.*)?                          all files          system_u:object_r:httpd_log_t:s0
    

参照:RHEL6 SELinuxマニュアル


指定されたタイプを使用するモジュールを知る方法はありますか?つまり、その情報をロードされたselinuxポリシーモジュール(semodule -l)に接続する方法は?
YankoHernándezÁlvarez2013

では、質問の範囲を減らして、この回答を承認済みとしてマークし、最初の側面を別の質問に分けます。
YankoHernándezÁlvarez2013

@YankoHernándezÁlvarezはそれを信じるかどうか、私はそれを理解しようとしています。調査結果を他の質問に投稿しました。
dawud 2013

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