
다양한 버전의 소프트웨어 패키지를 여러 사용자 계정에 배포하기 위해 FTP 서버를 설정해야 합니다.
각 사용자의 ftp 홈 폴더에 파일을 복사하는 것을 피하기 위해 다음과 같은 구조를 사용하여 심볼릭 링크로 '공유 파일 환경'을 설정하고 싶습니다.
/
...
+-- srv
+-- ftp
+-- data
+-- V1
+-- Latest -> /srv/ftp/data/V1/V1.3
+-- V1.1
+-- V1.2
+-- V1.3
+-- V2
+-- Latest -> /srv/ftp/data/V2/V2.2
+-- V2.1
+-- V2.2
+-- V3
+-- Latest -> /srv/ftp/data/V3/V3.1
+-- V3.1
+-- users
+-- user1
+-- V3 -> /srv/ftp/data/V3/Latest
+-- user2
+-- V2 -> /srv/ftp/data/V2/Latest
+-- user3
각 버전은 여러 파일과 하위 폴더가 포함된 폴더입니다.
저는 vsftpd와 함께 Linux 박스(CentOS 7)를 사용하고 있습니다. 내 문제는 그의 홈 폴더에 대한 사용자 액세스를 제한하려고 할 때 발생합니다. 서버는 사용자 폴더 외부의 링크를 따라가는 것을 허용하지 않습니다.
예를 들어 user1이 V3 폴더와 해당 콘텐츠(하위 폴더 포함)만 볼 수 있도록 하고 싶습니다.
따라서 질문은 다음과 같습니다. 이것이 올바른 접근 방식입니까? 그렇다면 작동하도록 하는 방법은 무엇입니까? 그렇지 않은 경우 이와 같은 작업에 권장되는 접근 방식은 무엇입니까?
답변1
일반적인 고려 사항: 콘텐츠 배포에 레거시 FTP 프로토콜 사용을 중지하세요.
심볼릭 링크를 사용하는 대신 다음을 사용할 수 있습니다."바인드" 마운트예를 들어 사용자 개인 디렉터리 계층 구조와 같이 파일 시스템의 일부를 다른 곳에 복제합니다. 바인드 마운트는 chroot 제한 전략을 방해해서는 안 됩니다.
다음 구문은 동일합니다.
mount --bind /srv/ftp/data/V3/Latest /srv/ftp/users/user1/V3
mount -o bind srv/ftp/data/V2/Latest /srv/ftp//users/user2/V2
/etc/fstab
재부팅 후에도 지속되도록 관련 항목을 만듭니다 .