audit2allow라는 프로그램은 이 에러를 가지고 해당하는 프로세서에 권한을 주는 정책 파일을 자동으로 생성시켜준다. 예를 들면 이런 식으로 사용한다.
1 grep httpd audit.log | audit2allow -M httpd
이 명령은 audit.log에서 httpd가 나온 로그를 전부 audit2allow로 넘겨서 권한 정책 파일을 출력하도록 한다. 이렇게 하면 .pp 파일과 .te 파일이 만들어진다. pp파일은 새로운 권한 정책을 적용하는 하는 데 사용하고, .te 파일은 새로 어떤 권한 정책이 추가되는지를 담고 있다. audit2allow가 제대로 실행됐으면 그 다음에 .pp 파일을 어떻게 적용하는지 보여주는데 다음과 같다.
1 semodule -i httpd.pp
조금 시간이 걸리는데, 이렇게 하면 새로운 권한 정책이 적용된다. 조금 팁을 더해보자면 audit2allow로 생성되는 권한 정책은 에러메시지가 난 부분에 대해서만 정책을 생성한다. 예를 들어 파일을 생성하다 에러가 났으면 파일 생성 권한만 추가하고 삭제나 변경 읽기 등은 여전히 불가능할 수 있다. 이런 명령들을 하나하나 에러를 내고 .pp 파일을 만들면 권한 설정이 가능하다. 마찬가지로 일일이 권한이 필요한 에러만 찾아서 audit2allow에 보낼 수도 있다. 꽤나 무식한 방법이긴 한데, selinux의 권한 편집이란 게 텍스트 파일 편집하는 식이 아니라서 이런 방법이 제일 쉬울지도 모른다
그리고 정책 파일들은 가능하면 보존해두는 게 좋다.
semodule -r httpd.pp
같은 방식으로 수정한 정책을 다시 되돌릴 수도 있기 때문이다.
아마 이게 가장 기본적으로 알아둬야할 selinux 정책 설정 방법. 그 외에도 getsebool
이라던가 setsebool
라는 명령어도 있는데, 몇몇 부분에 대해 옵션 형식으로 권한 설정할 수 있는 프로그램.
'System > Linux' 카테고리의 다른 글
linux - systemd, systemctl (0) | 2013.01.08 |
---|---|
SELinux - AVC Denials (0) | 2013.01.08 |
고급 Bash 스크립팅 가이드 (0) | 2013.01.02 |
Linux VFS(Virtual File System Switch) 해부 (0) | 2012.10.29 |
linux - logrotate (0) | 2012.09.07 |