
我正在嘗試設定 sftp,以便一些受信任的人可以存取/編輯/建立一些檔案。我已將一個使用者監禁到他們的主目錄(/home/name)中,但遇到了問題。我希望他們也能夠存取 VPS 的其他部分,因為它也是遊戲伺服器、網站主機等,並且我希望他們能夠完全控制其被監禁目錄之外的檔案。
我嘗試建立指向所需目錄的符號連結(ln -s),但它不起作用,如預期的那樣。我嘗試(cp -rl)存取我想要授予存取權限的文件,並且它起作用了——他們可以編輯其目錄中的文件,並且它會更改儲存在監獄之外的文件。但他們無法創建新文件(他們可以,但不會在監獄外更新)。我知道我可能沒有以「正確的方式」做這件事,但是我能做些什麼來做我想做的事呢?
答案1
符號連結純粹是像徵性的:它們只包含路徑,因此當您開啟符號連結時,作業系統會讀取該路徑並使用該路徑。在 chroot 環境中,連結(尤其是具有絕對路徑的連結)通常不會指向它們在正常環境中指向的相同位置。
如果伺服器作業系統是 Linux,則最好的選擇是將整個目錄綁定掛載到 chroot 目錄內的某個位置。使用此功能時,請務必記住這不是目錄的副本,此處刪除的任何內容都會從其他目錄中刪除(如果使用者可以mv
檔案 或,則這一點很重要rm -rf
)。去做這個:
mount --bind /some/directory /somewhere/else
目錄中的檔案應該是真實的檔案。這裡的符號連結可能會遇到與您最初嘗試連結到文件時相同的問題。