我需要了解与 selinux 类型相关的所有信息运行系统的现行规则:
- 允许、允许审计、不审计规则。
- 使用类型标记有上下文的文件。
- 轉換。
...以及任何其他信息。
是否有任何命令可用于查询该信息,或者我应该下载所有与 selinux 相关的“src”包,过滤掉未使用的模块并 grep 每个文件以获取该信息?一定有更简单的方法可以做到这一点。
答案1
获取此信息的一些命令是(示例使用httpd_log_t
):
seinfo
# seinfo -x --type=httpd_log_t /etc/selinux/default/policy/policy.26 httpd_log_t file_type non_security_file_type logfile
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 ;
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