본문 바로가기

리눅스

[CentOS] CentOS7 rsync 권한 문제(SELinux 보안)

반응형

리모트 호스트에서 CentOs기반의 호스트 폴더를 rsync를 이용하여 동기화를 하려다 보면 아래와 같은 에러 메세지를 만날 수 있다.


@ERROR: chdir failed

@ERROR: chroot failed


rsyncd.conf 파일 설정을 제대로 해놨는데 위와 같은 에러 메세지를 뱉는다면 SELinux를 의심해 봐야 한다.


레드햇 계열의 CentOs에는 SELinux가 돌고 있기에 SELinux에 부합하지 않는 룰의 접근은 막아 버리기 때문에 위와 같은 에러 메세지가 나오고는 한다.

그렇다면 SELinux는 무엇인가 하면


보안 강화 리눅스(Security-Enhanced Linux, 간단히 SELinux) 미국 국방부 스타일의 강제 접근 제어(MAC) 포함한 접근 제어 보안 정책을 지원하는 매커니즘을 제공하는 리눅스 커널 보안 모듈이다. 다양한 리눅스 배포판에 추가할 있는 커널 수정 사용자 공간 도구들의 모임이다. 보안 강화 리눅스는 보안 결정 진행을 보안 정책과는 별개로 함과 동시에 보안 정책의 영향을 받는 소프트웨어의 양을 간소화하는 것을 시도하는 구조를 이룬다.


*출처 : 위키피디아



위와 같이 보안적 이유 때문에 특정 서비스가 SELinux 때문에 동작하지 않는다면 SELinux 끄기 보다는 해당 서비스가 SELinux 하에서 동작하도록 설정을 수정하는걸 권장한다.


* SELinux를 꺼버리면 쉽게 문제를 해결 할 수 있지만 권장하지 않는 방법이다. SELinux를 끄는 방법은 아래 포스팅을 참고하기를 바란다.

2017/03/30 - [CentOS] CentOS7 SELinux 끄기


그렇다면 어떻게 rsync접근을 허가해 줄 것인가?


1. 아래 명령어를 통하여 rsync on/off 상태를 파악한다.

$ getsebool -a | grep rsync

2. rsync_export_all_ro off -> on으로 변경

$ setsebool -P rsync_export_all_ro 1

SELinux룰 변경이 완료 되었으니 rsync에러 없이 잘 실행이 될 것이다.


끝.

반응형

'리눅스' 카테고리의 다른 글

[CentOS] CentOS7 SELinux 끄기  (0) 2017.03.30
[CentOS] CentOS7 nodeJs 설치  (0) 2017.03.06
[CentOS] CentOS 7 포트 열기 및 확인  (0) 2017.01.25
'su'와 'su -' 의 차이  (0) 2014.07.01
vmware 리눅스에 텔넷 서버, ftp 서버 셋팅  (0) 2014.07.01