第一步,安裝vsftp
# 1、以管理員(root)身份執行以下命令 yum install vsftpd # 2、設置開機啟動vsftpd ftp服務 chkconfig vsftpd on # 3、啟動vsftpd服務 service vsftpd start
第二步,配置防火牆
# 打開/etc/sysconfig/iptables文件 vi /etc/sysconfig/iptables #在REJECT行之前添加如下代碼 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT #保存和關閉文件,重啟防火牆 service iptables restart
第三部,添加FTP用戶並設置FTP用戶密碼
下面是添加ftpuser用戶,設置根目錄為/home/wwwroot/ftpuser,禁止此用戶登錄SSH的權限,並限制其訪問其它目錄。
1、修改/etc/vsftpd/vsftpd.conf,將底下三行
#chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd.chroot_list
改為
chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/chroot_list
2、增加用戶ftpuser,指向目錄/home/wwwroot/ftpuser,禁止登錄SSH權限。
useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
3、設置用戶口令
passwd ftpuser
4、編輯文件chroot_list(內容為ftp用戶名,每個用戶占一行):
vi /etc/vsftpd/chroot_list
第四步、啟用pasv模式
pasv_enable=YES #啟用被動模式 pasv_min_port=10000 #被動模式使用端口范圍 pasv_max_port=10010 #被動模式使用端口范圍
第五步、針對第四步開啟防火牆端口,如果沒有啟用pasv模式就可以不用管
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10000:10010 -j ACCEPT
在以上工序完成后,連接ftp時出現了個錯誤
500 OOPS: vsftpd: cannot locate user specified in 'ftp_username':ftp
經過網絡搜索,得到下面的解決辦法
在/etc/vsftpd.conf中添加一行ftp_username=nobody就搞定