一、使用openssh自帶的sftp-server
Match User username X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp ChrootDirectory /home/sftp
可以以sftp協議加密傳輸數據。開啓openssh-server之後,默認開啓了sftp-server
配置文件/etc/ssh/sshd_config
修改:取消註釋。
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
添加:
Match User username X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp ChrootDirectory /home/sftp
可以參考:https://wiki.archlinux.org/index.php/SFTP_chroot
二、Ubuntu/Debian安裝vsftp軟件
1.更新軟件源
首先需要更新系統的軟件源,便捷工具下載地址:http://help.aliyun.com/manual?spm=0.0.0.0.zJ3dBU&helpId=1692
2.安裝vsftp
使用apt-get命令安裝vsftp
#apt-get install vsftpd -y
3.添加ftp帳號和目錄
先檢查一下nologin的位置,通常在/usr/sbin/nologin或者/sbin/nologin下。
使用下面的命令創建帳戶,該命令指定了/alidata/www/wwwroot爲用戶pwftp的家目錄,您可以自己定義帳戶名和目錄:
#useradd -d /alidata/www/wwwroot -s /sbin/nologin pwftp
修改該帳戶密碼:
#passwd pwftp
修改指定目錄的權限
#chown -R pwftp.pwftp /alidata/www/wwwroot
4.配置vsftp
編輯vsftp配置文件,命令如下:
#vi /etc/vsftpd.conf
將配置文件中”anonymous_enable=YES “改爲 “anonymous_enable=NO”
取消如下配置前的註釋符號:
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
保存退出
編輯/etc/vsftpd.chroot_list文件,將ftp的帳戶名添加進去,保存退出
5.修改shell配置
vi編輯/etc/shells,如果該文件裏沒有/usr/sbin/nologin或者/sbin/nologin(具體看當前系統配置)則追加進去
6.重啓vsftp服務並測試登錄
使用命令啓動vsftp服務:
#service vsftpd restart
然後用帳號pwftp測試下是否可以登陸ftp。目錄是/alidata/www/wwwroot。
參考:
http://blog.csdn.net/jimyjimang/article/details/7454617
http://yhf8377.blog.163.com/blog/static/176860177201210217219800/