2011-09-06 6 views
0

모드에 SELinux가 설치된 RHEL 5.5 서버가 있습니다. 현재 시스템은 permissive 모드입니다. 간단한 쉘 스크립트를 쓰려고하는데, 예를 들어 setest.sh라고하고 bash 터미널에서 명시 적으로 실행하려고합니다.SELinux : bash 스크립트가 엄격한 모드에서 실행되도록 허용

내가 그렇게 할 수 있어요 허용 모드에서

하지만 감사 로그에 거부로가 기록됩니다

Sep 6 12:49:58 rhel-vm-003 kern 5 kernel: type=1400 audit(1315293598.916:45417): 
avc: denied { execute_no_trans } for pid=26602 comm="bash" path="/var/tmp/setest.sh" 
dev=sda1 ino=1017036 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 
tcontext=system_u:object_r:test_policy_exec_t:s0 tclass=file 

이 분명히 내가 한 번 bash는 콘솔에서 스크립트를 실행할 수 없음을 의미합니다 SELinux를 시행 모드로 전환합니다. SELinux가 실행될 때 정책 모듈에 추가 할 수있는 허용/도메인 전환 규칙은 무엇입니까?

감사합니다,
Nagendra U M

답변

0

내가 'test_policy_exec_t'에 대한 웹 검색을 실행, 내가 할 수있는 유일한 명중이 스레드, 그래서 당신이 만든 사용자 정의 문맥의 추정한다. 컨텍스트를 일반 텍스트로 변경하면 스크립트를 실행할 수 있습니다.

기본 sepolicy가있는 RHEL 5 서버에서 다음은 감사 로그에 아무것도 생성하지 않습니다.

$ echo -e '#!/bin/sh\necho Hi!' > /var/tmp/setest.sh 
$ ls -Z /var/tmp/setest.sh 
-rw-r--r-- polgar users user_u:object_r:tmp_t   /var/tmp/setest.sh 
$ /var/tmp/setest.sh 
Hi!