콘텐츠 배포를 위한 FTP 서버

콘텐츠 배포를 위한 FTP 서버

다양한 버전의 소프트웨어 패키지를 여러 사용자 계정에 배포하기 위해 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재부팅 후에도 지속되도록 관련 항목을 만듭니다 .

관련 정보