FTP/Samba/Home 디렉터리의 SELinux 문제

FTP/Samba/Home 디렉터리의 SELinux 문제

NAS 서버(CentOS 8 Stream)에 녹화하기 위해 홈 카메라를 설정하고 있습니다. 전송을 위해 FTP를 사용하고 있습니다. vsftpd를 설치하고 전용 사용자(ftpuser)를 만들었습니다. 파일을 Samba 공유인 /data/recordings(\mynas\recordings)로 전송하고 싶습니다.

카메라 UI에서 FTP 전송 대상을 설정할 때 항상 사용자의 홈 디렉터리에서 시작한다고 가정합니다. 따라서 /data/recordings/camera1은 /home/ftpuser/data/recordings/camera1이 됩니다. 이 동작을 변경할 수 있는 방법은 없습니다.

해결 방법으로 ftpuser의 홈 디렉터리를 /data/recordings로 변경했습니다. 이는 녹음 폴더의 레이블을 user_home_dir_t로 설정한 경우에만 작동합니다.

semanage fcontext -a -t user_home_dir_t /data/recordings
restorecon -F -R -v /data/recordings

문제는 레이블이 원래 samba_share_t였기 때문에 Samba 공유가 손상되었다는 것입니다.

SELinux를 끄면 모든 것이 잘 작동하므로 문제는 100% 폴더의 태그입니다.

인터넷 검색을 해본 결과 부울을 사용하는 것이 해결책일 수 있는 것처럼 보이지만 어떤 것을 사용해야 할지 모르겠습니다. 몇 가지 시도해 보았으나 별 차이가 없는 것 같습니다. 어떤 도움이라도 좋을 것입니다.

감사해요!

답변1

이렇게 하면 파일의 보안 컨텍스트를 변경하지 않고 문제를 해결할 수 있습니다.

sudo setsebool -P samba_export_all_ro=1
sudo setsebool -P samba_export_all_rw=1

(어쩌면 두 번째 명령만으로도 충분할지 모르지만 테스트하지는 않았습니다.)

관련 정보