工具/原料
-
centos7.2_x64
方法/步驟
-
創建sftp組
groupadd sftp
創建完成之后使用cat /etc/group命令組的信息
-
創建一個sftp用戶mysftp並加入到創建的sftp組中,同時修改mysftp用戶的密碼
useradd -g sftp -s /bin/false mysftp
passwd mysftp
-
新建/data/sftp/mysftp目錄,並將它指定為mysftp組用戶的home目錄
mkdir -p /data/sftp/mysftp
usermod -d /data/sftp/mysftp mysftp
-
編輯配置文件/etc/ssh/sshd_config,vi /etc/ssh/sshd_config
將如下這行用#符號注釋掉
# Subsystem sftp /usr/libexec/openssh/sftp-server
並在文件最后面添加如下幾行內容然后保存
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
-
設置Chroot目錄權限
chown root:sftp /data/sftp/mysftp
chmod 755 /data/sftp/mys
-
新建一個目錄供stp用戶mysftp上傳文件,這個目錄所有者為mysftp所有組為sftp,所有者有寫入權限所有組無寫入權限
mkdir /data/sftp/mysftp/upload
chown mysftp:sftp /data/sftp/mysftp/upload
chmod 755 /data/sftp/mysftp/upload
-
關閉selinux並重啟sshd服務,然后測試
-
在其他服務器上進行驗證,sftp 用戶名@ip地址
注意事項
-
openssh的版本必須大於4.8p1,如果低於這個版本需要升級
