
chcon
현재 SELinux가 활성화되어 있고 'httpd_sys_content_t' 유형을 부여하는 명령 을 사용하여 /home/src/web에 대한 액세스를 허용하도록 Apache를 구성할 수 있었습니다 . 그러나 이제는 동일한 디렉터리에서 rsyslogd.conf 파일을 제공하려고 시도하고 있지만 rsyslogd를 시작할 때마다 감사 로그에 rsyslogd에 액세스가 거부되었다는 항목이 표시됩니다. 내 질문은 SELinux를 계속 활성화하면서 두 애플리케이션에 동일한 디렉터리에 액세스할 수 있는 기능을 부여할 수 있느냐는 것입니다.
/home/src에 대한 현재 권한:
drwxr-xr-x. src src unconfined_u:object_r:httpd_sys_content_t:s0 src
감사 로그 메시지:
type=AVC msg=audit(1349113476.272:1154): avc: denied { search } for pid=9975 comm="rsyslogd" name="/" dev=dm-2 ino=2 scontext=unconfined_u:system_r:syslogd_t:s0 tcontext=system_u:object_r:home_root_t:s0 tclass=dir
type=SYSCALL msg=audit(1349113476.272:1154): arch=c000003e syscall=2 success=no exit=-13 a0=7f9ef0c027f5 a1=0 a2=1b6 a3=0 items=0 ppid=9974 pid=9975 auid=500 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=30 comm="rsyslogd" exe="/sbin/rsyslogd" subj=unconfined_u:system_r:syslogd_t:s0 key=(null)
-- 편집하다 --
이걸 접하게 됐어우편, 이것이 바로 제가 성취하려고 하는 것입니다. 그런데 목록을 보니허용된 seboul 매개변수, syslog와 관련된 유일한 내용은 syslogd_disable_trans(SELinux 서비스 보호)였습니다. 디렉토리에서 현재 SELinux '유형'을 유지할 수 있는 것처럼 보이지만 /home/src/
syslogd_disable_trans의 bool을 false로 설정했습니다. 더 나은 접근 방식이 있는지 궁금합니다.
답변1
아직 SELinux를 배우는 중이기 때문에 사용자 정의 SELinux 정책 패키지를 구현하지 않으려고 했지만 이 경우에는 선택의 여지가 없는 것 같았습니다. 그래서 나는 이것에 대한 원래 답변을 따랐습니다.우편, rsyslog가 /home/src/web에서 잘 작동하도록 할 수 있었습니다.
답변2
유형 적용은 프로세스가 다른 프로세스에서 사용하기 위한 파일에 액세스하는 것을 방지합니다. 예를 들어, 기본적으로 Samba는 Apache HTTP 서버에서 사용하도록 고안된 httpd_sys_content_t 유형으로 레이블이 지정된 파일을 읽을 수 없습니다. 원하는 파일에 public_content_t 또는 public_content_rw_t 유형으로 레이블이 지정된 경우 Apache HTTP Server, FTP, rsync 및 Samba 간에 파일을 공유할 수 있습니다.