Linux

如何查詢影響類型的所有 selinux 規則/預設文件上下文/等

  • July 8, 2013

我需要了解與執行系統目前規則中的 selinux 類型相關的所有內容:

  • 允許、允許審計、不審計規則。
  • 使用該類型標有上下文的文件。
  • 過渡。

…以及任何其他資訊。

是否有任何命令可以用來查詢該資訊,或者我應該下載所有與 selinux 相關的“src”包,過濾掉未使用的模組並 grep 每個文件以獲取該資訊?必須有一種更簡單的方法來做到這一點。

獲取此資訊的一些命令是(範例使用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
  1. 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 ;
  1. 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 手冊

引用自:https://serverfault.com/questions/521078