오늘은 Linux에서 발생하는 오류인
SELinux is preventing {directory} from read access on the file {filename}오류 해결 방법에 대해
포스팅 하려고 합니다.
먼저 SELinux란 Security-Enhanced Linux의 의미로 커널 레벨의 보안모듈입니다.
일반적으로 개인용 Linux 또는 보안을 복잡하고 강하게 할 기업용 Linux가 아니라면SELinux는 꺼놓는 것이 좋습니다.
해당 포스팅의 오류에 대한 이슈에 대해 해결하기 위해서는 SELinux를 disable 하거나해당 디렉토리 또는 파일을 SELinux 보안 정책에 맞게 설정해주면 됩니다.
먼저 SElinux를 disable 하는 방법에 대해 먼저 진행하도록 하겠습니다.SELinux가 실행되고있다면 getenforce 명령어를 입력했을때 Enforcing라고 나타납니다.
# getenforce
Enforcing
일시적으로 SELinux를 사용하지 않는다면
setenforce 0을 입력하면 됩니다.
하지만 이 방법은 일시적이기 때문에 Linux 서버가 재부팅이 된다면 다시 SELinux가 실행됩니다.
# setenforce 0
SELinux를 영구적으로 사용하지 않게 하기 위해서는
SELinux파일을 열고 disabled로 입력후 저장해야합니다.
* 주의 - 커널영역을 관리하는 모듈이라서 오타가 있을때는 재부팅이 안되는 경우가 있습니다.
오타가 업도록 잘 확인해서 진행해야 합니다.
# vi /etc/sysconfig/selinux
SELINUX=disabled
다음으로 SELinux를 사용해야 할 떄 해당 이슈에 대해 해결하기 위한 방법입니다.
특정 파일과 디렉토리를 보안 정책에 맞도록 컨텍스트를 설정하기 위해
restorecon 명령어를 사용합니다.
저는 /var/named 디렉토리안에서 이슈가 발생하여
restorecon -R -v /var/named로 입력하였습니다.
# restorecon -R -v /var/named
지금까지 Linux에서 SELinux is preventing {directory} from read access on the file {filename}오류 해결 방법에 대한
포스팅이였습니다.
'Develope > Linux' 카테고리의 다른 글
[Linux] syntax error: unexpected end of file 오류 해결 방법 (0) | 2022.04.06 |
---|---|
[Linux] 패키지.rpm 파일 다운로드 및 설치 방법 (0) | 2022.04.01 |
[Linux] No route to host 오류 해결 방법 (0) | 2022.03.21 |
[Linux] named DNS Master/Slave 서버 구축 및 동기화 설정 방법 (2) | 2022.03.21 |
[Linux] /bin/bash^M: bad interpreter 오류 해결방법 (0) | 2022.03.11 |