SElinux整合检查

时间:2010-03-26 12:08:31

标签: selinux

如何通过进程名称检查(使用SELinux)文件?

例如,我们有两个流程:

  • /usr/bin/foo1
  • /usr/bin/foo2

它们在用户名userA的帐户下运行,并尝试打开修改文件:

  • /home/userA/test.txt

我希望如果foo1尝试打开文件 - 那没关系。但是如果foo2试图打开 这个文件 - 我在/var/log中有关于此的消息。

问题是两个进程都具有相同的用户ID。我无法通过用户名使用RBAC。

1 个答案:

答案 0 :(得分:2)

您必须同时使用SELinux政策运行foo1foo2个自定义域类型。这将需要:

  1. 为二进制文件创建类型(例如foo1_exec_tfoo2_exec_t
  2. 为流程创建类型(例如foo1_tfoo2_t
  3. 指定当用户类型(可能unconfined_t)执行foo1_exec_t时,它会转换为foo1_t,类似于foo2
  4. 然后,您需要为test.txt创建自定义类型(例如test_t

    完成此操作后,您可以针对这些策略编写您喜欢的任何策略(包括针对您正在寻找的特定访问的auditallow规则)。问题在于,通过创建自定义类型,您必须为它们指定所有访问权限。

    如果您不打算进行任何访问控制,而只是在发生某些事情时进行记录,那么审计子系统是更好的选择,尽管我不知道您可以使用它进行精细化。