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와 별개로 특정 규칙 세트를 작성해야 합니다.

시작하는 데 도움이 되는 일부 링크:

관련 정보