Debian

如何將主文件夾視為根文件夾?

  • November 10, 2018

我創建的使用者每個人都有自己的主目錄,正常。

目前我創建我的使用者如下:

adduser -d / home / ftp / myUser myUser

我的使用者需要連接到 SFTP(打開我的 vps 上安裝的 ssh),並且我需要當我的使用者在 SFTP 中連接時,我需要將主目錄視為他的根文件夾

為什麼 ?另一個應用程序正在連接到此 SFTP,如果它不在其根目錄中,則應用程序無法發送或讀取文件。

我怎樣才能做到這一點?

添加或更改/etc/ssh/sshd_config以包含以下行

Subsystem sftp internal-sftp

Match Group sftpusers
       ChrootDirectory %h
       ForceCommand internal-sftp

然後將所有受限使用者集添加到sftpusers組中。

最後,將目標目錄的所有權更改為root,並刪除組/其他寫入權限,然後重新啟動ssh伺服器。這是 chroot 生效所必需的。缺點是使用者將無法將任何文件寫入其主目錄。(您必須創建子目錄供他們寫入。)

從使用者的角度來看,這不是一個理想的情況,您可能會發現最好在文件系統的其他位置創建一個目錄供 SFTP 使用(例如/home/sftp/$USER),該目錄可以使用 ) 獨立於其真實主目錄鎖定ChrootDirectory /home/sftp/%u

當您遇到問題時(您可能會在幾次嘗試中解決問題),請記住閱讀/var/log/auth.log以了解問題所在。

引用自:https://unix.stackexchange.com/questions/480535