一、使用openssh內建的sftp-server
可以以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/