sftp配置使用者上傳和下載下傳很容易,但是當需要限制登入使用者隻能通路指定目錄時,則需要注意幾點
1.步驟
安裝sshd,一般伺服器都自帶,如果沒有安裝也可以yum或者apt-ge安裝
2.配置sshd
編輯/etc/ssh/sshd_config檔案(一般放置在此處)
在sshd_config檔案中添加如下幾行
Subsystem sftp internal-sftp
Match Group sftp #這裡是配置使用者組,也可以隻配置使用者(Match User xxxx)
ChrootDirectory /data/sftp/ #這裡配置隻能通路的指定目錄
ForceCommand internal-sftp
3.建立目錄 /data/sftp
注意,注意,注意,重要的事件說三遍
/data/sftp 的所屬組和所屬主都必須是root (包括data和sftp),且權限是755權限,不能是777權限
4.建立使用者組和使用者
groupadd sftp
useradd -s /bin/nologin -d /data/sftp -g sftp mysftp
echo "123456" | passwd --stdin mysftp
4.在/data/sftp目錄下建立使用者上傳和下載下傳目錄
例如: mkdir upload
這個目錄的所屬主和所屬組可以不是root
5.重新開機sshd
systemctl restart sshd
以上配置過程本人親自測試并驗證過,如有其他要補充的,請留言,至于原理可以翻閱sshd幫助手冊