【问题标题】:Allow operations for daemon with custom context on different files with different context in SELinux允许在 SELinux 中对具有不同上下文的不同文件进行具有自定义上下文的守护程序的操作
【发布时间】:2018-12-07 14:59:01
【问题描述】:

特殊类型的允许规则

我已经从具有自定义上下文的可执行文件创建了正在运行的守护进程,例如:

system_u:system_r:daemon_name_t

它将递归遍历整个目录并读取(未打开)这些未知文件(这些文件可以有任何上下文,不仅来自其域),所以我想用 scontext daemon_name_t 和 ANY 目标上下文。 在编写类型强制规则时,我希望它尽可能地限制。我不想给它上下文unconfined_t

例如,如果我需要允许getattrread 操作,我想得到这个效果:

allow daemon_name_t { * } :file { getattr read };

我找不到任何可能的方法来使用SELinux 执行此操作。这甚至可能吗?任何帮助表示赞赏。

编辑:我发现有一种方法可以像这样对 file_type 强制执行允许规则:

allow daemon_name_t file_type:{type1 type2} {getattr read};

目前对我来说已经足够了,但如果有更好的解决方案,我会很高兴。

【问题讨论】:

    标签: linux redhat fedora selinux


    【解决方案1】:

    SELinux 策略包含可以像这样简化编写规则的接口。可用的接口在policy API documentation 中列出(文档应该由您的发行版中的selinux-policy-doc 包提供)。例如合适的接口可以是files_list_non_auth_dirsfiles_read_non_auth_files

    files_list_non_auth_dirs(daemon_name_t)
    files_read_non_auth_files(daemon_name_t)
    

    【讨论】:

      猜你喜欢
      • 2018-08-01
      • 2015-04-06
      • 2015-08-12
      • 2013-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-29
      相关资源
      最近更新 更多