2010-03-26 4 views
1

(SELinux로) 프로세스 이름으로 파일에 액세스 할 수있는 방법을 어떻게 확인할 수 있습니까?SElinux integrety check

예를 들어

, 우리는이 개 프로세스를 가지고 :

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

그들은 이름 userA와 계정에서 실행 및 수정 파일을 열려고됩니다

  • /home/userA/test.txt

foo1이 파일을 열려고하면 필요합니다. 괜찮습니다. 하지만 foo2이 이 파일을 열려고하면 - /var/log에 대한 메시지가 있습니다.

두 프로세스 모두 동일한 사용자 ID를 갖는 것이 문제입니다. 사용자 이름별로 RBAC를 사용할 수 없습니다.

답변

2

foo1foo2 사용자 정의 도메인 유형을 모두 SELinux 정책을 사용하여 실행해야합니다. 이 수반 :

  1. 하는
  2. 가 지정 프로세스 유형 (예 : foo1_tfoo2_t)를 만들기 바이너리 유형 (예 : foo1_exec_tfoo2_exec_t)을 작성 사용자 유형 (가능성이 unconfined_t가) foo1_exec_t을 실행 때

에 대해 foo1_t 및 이와 유사하게 전환 한 다음에 대한 사용자 정의 유형을 만들어야합니다(예 : test_t)

일단이 작업을 완료하면 원하는 정책 (예 : 특정 액세스에 대한 auditallow 규칙 포함)을 작성할 수 있습니다. 사용자 정의 유형을 작성하면 해당 유형에 대한 모든 액세스를 지정해야합니다.

액세스 제어를 수행하고 싶지 않고 무언가가 발생했을 때 로그 만 남기고 싶다면 감사 하위 시스템을 선택하는 것이 좋습니다.