selinux 可以记录应用程序所有者名称吗?

selinux 可以记录应用程序所有者名称吗?

所以我设置了selinux来记录某个目录中的所有文件访问操作。以下是从 sftp 执行 ls 时的一些示例日志输出:

type=AVC msg=audit(1338465611.221:356): avc:  granted  { getattr } for  pid=5973 comm="sftp-server" path="/polog" dev=dm-0 ino=1966081 scontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:polog_t:s0 tclass=dir

在这种情况下,sftp 以 user1 身份运行,有没有办法让 selinux 也记录这个用户名,或者我应该采取不同的方法?

这是我的策略文件:

---polog.te---

policy_module(polog, 1.0.14)

require {
    type fs_t;
        type unconfined_t;
        type sshd_t;
        type setfiles_t;
        class filesystem associate;
        class dir relabelto;
}

type polog_t;

#============= polog_t ==============

allow polog_t fs_t:filesystem associate;
allow unconfined_t polog_t:dir relabelto;
allow setfiles_t polog_t:dir relabelto;

#====================================

auditallow unconfined_t polog_t : file *;
auditallow unconfined_t polog_t : dir *;

allow unconfined_t polog_t : file *;
allow unconfined_t polog_t : dir *;

---polog.fc---

/polog(/.*)?            gen_context(system_u:object_r:polog_t)

答案1

SELinux 不适用于经典的 DAC 用户名,因此您将无法以这种方式显示此类信息。您应该查看审计子系统和 auditd守护进程。您必须编写一组特定的规则(与 SELinux 无关)来记录对这些文件的访问。

一些帮助您入门的链接:

相关内容