Sftp

SFTP:被監禁(chrooted)目錄中的文件符號連結

  • October 20, 2012

我正在嘗試設置 sftp,以便一些受信任的人可以訪問/編輯/創建一些文件。我已將使用者監禁到他們的主目錄(/home/name),但遇到了問題。我希望他們也能夠訪問 VPS 的其他部分,因為它也是一個遊戲伺服器、網路主機等,我希望他們能夠完全控制他們被監禁的目錄之外的文件。

我嘗試將符號連結(ln -s)指向所需的目錄,但它不起作用,正如預期的那樣。我嘗試 (cp -rl) 訪問我想授予訪問權限的文件並且它起作用了——他們可以編輯他們目錄中的文件,它會更改儲存在監獄之外的文件。但是他們不能創建新文件(他們可以但不會在監獄外更新)。我知道我可能沒有以“正確的方式”做這件事,但我能做些什麼來做我想做的事?

符號連結純粹是符號連結:它們只包含路徑,因此當您打開符號連結時,作業系統會讀取路徑並使用它。在 chroot 環境中,連結(尤其是具有絕對路徑的連結)通常不會指向它們在正常環境中指向的相同位置。

如果伺服器作業系統是 Linux,最好的辦法是將整個目錄綁定掛載到 chroot 目錄中的某個位置。使用它時,重要的是要記住這不是目錄的副本,這裡刪除的任何內容都將從另一個目錄中刪除(如果使用者可以使用mv文件或,這很重要rm -rf)。去做這個:

mount --bind /some/directory /somewhere/else

目錄中的文件應該是真實文件。此處的符號連結可能會遇到與您最初嘗試連結到文件時相同的問題。

引用自:https://serverfault.com/questions/440426