Linux

SFTP 文件限制

  • April 23, 2010

是否可以在 Linux 上使用 SFTP 並將使用者帳戶限制為一個目錄,這樣就無法獲得其他目錄列表?是的,我必須使用 SFTP,FTP 僅供喜歡被黑客入侵的人使用。

例如,我希望有人修改 /var/www/code/ 中的文件,但我不希望他們能夠修改其他任何內容。我什至不希望他們看到 /tmp/ 的內容。

(我會接受“快速而骯髒”的解決方案,只要它是安全的。)

從 sshd_config 手冊頁:

Chroot目錄
指定身份驗證後 chroot(2) 的路徑。這
路徑及其所有組件必須是根擁有的目錄
任何其他使用者或組不可寫。在 chroot 之後,
sshd(8) 將工作目錄更改為使用者的主目錄-
瑞。

該路徑可能包含以下標記,這些標記在
連接使用者通過身份驗證後的執行時間:%% 是
替換為文字 '%',%h 替換為主目錄
被認證的使用者,%u 被使用者替換-
該使用者的名稱。

ChrootDirectory 必須包含必要的文件和目錄
ries 以支持使用者的會話。對於互動式會話
這至少需要一個 shell,通常是 sh(1),以及基本的 /dev
null(4)、zero(4)、stdin(4)、stdout(4)、stderr(4) 等節點,
arandom(4) 和 tty(4) 設備。對於文件傳輸會話使用
``sftp'',不需要額外的環境配置
essary 如果使用程序內 sftp 伺服器,但會話
使用日誌記錄確實需要 /dev/log 在 chroot 目錄中
(詳見 sftp-server(8))。

預設不是 chroot(2)。

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