用於內容分發的 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以使其在重新啟動後保持不變。

相關內容