系統Centos
工具,自帶的internal-sftp
1.首先查看openssh版本
ssh -V
版本必須大於4.8p1,低於的這個版本需要升級。
2.創建sftp組
groupadd bmssftp
3.創建sftp用戶
useradd -g bmssftp -s /bin/false bmssftp //用戶名
passwd bmssftp123 //密碼
4.將sftp組的用戶home目錄統一指定到/data/sftp下,按用戶名區分,這裏先新建一個bmssftp目錄,然後指定bmssftp的home爲/data/sftp/bmssftp。
mkdir -p /data/sftp/bmssftp
usermod -d /data/sftp/bmssftp bmssftp
5.配置sshd_config
vim /etc/ssh/sshd_config
註釋掉Subsystem sftp /usr/libexec/openssh/sftp-server
這句話
並且在文件末尾添加如下語句
Subsystem sftp internal-sftp
Match Group mysftpg
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
我這裏把data該成了data2,
6.設定權限
chown root:bmssftp /data/sftp/bmssftp
chmod 755 /data/sftp/bmssftp
7.現在其實已經可以通過bmssftp賬號密碼登入了,但是在bmssftp文件夾中還不能上傳文件,所以需要新建一個文件夾來供bmssftp用戶上傳文件。
mkdir /data/sftp/bmssftp/upload
chown bmssftp:bmssftp /data/sftp/bmssftp/upload
chmod 755 /data/sftp/bmssftp/upload
8.編輯/etc/selinux/config
vim /etc/selinux/config
將文件中的SELINUX=enforcing 修改爲 SELINUX=disabled ,
然後保存並執行
setenforce 0
9.重啓sshd服務
輸入命令重啓服務。
service sshd restart
然後就可以嘗試因Xftp,Winscp等工具登入了,如下,在upload同目錄下應該是無法上傳修改文件的,在upload文件夾裏就可以了。