1.下载vsftpd
sudo apt-get update && apt-get install vsftpd
修改配置文件
nano /etc/vsftpd.confg
只需要把anonymous_enable、local_enable、write_enable前的注释去掉即可(网上看过很多配置,但当运行ftp时会连接失败)
新建ftp根目录,并增加权限
~$ pwd (查看根目录)
~$ sudo mkdir -m 777 <文件名>
修改passwd配置文件
nano /etc/passwd
重启、停止、启动服务器
~$ /etc/init.d/vsftpd restart、stop、start
· 添加用户名和密码
~$ sudo useradd -d <刚创建的根目录下的文件路径> <用户名>
~$ sudo passwd <用户名>
~$ <设置密码>
新建文件vsftpd.user_list,在其内添加刚刚创建的用户名
~$ nano vsftpd.user_list
新建文件vsftpd.chroot_list(针对问题500),不需要添加任何用户,如果添加,这个用户可以访问ftp根文件之外的文件
~$ sudo nano /etc/vsftpd.chroot_list
针对530问题,删除文件
~$ sudo rm /etc/pam.d/vsftpd
2.安装ftp客户端
~$ sudo apt-get install ftp
~$ ftp <服务器IP>
输入密码过后提示230即是登录成功
ftp连接失败解决办法:
1.备份当前配置文件
sudo mv /etc/vsftpd.conf /etc/vsftpd.backup
2.卸载vsftpd并清除配置文件
sudo apt-get remove --purge vsftpd
3.最后,重新安装vsftpd
sudo apt-get install vsftpd
使用Linux iptables防火墙打开端口21:
在Linux下使用iptables管理工具进行IPv4数据包过滤和NAT,以打开tcp端口21(FTP)。以下规则集假定您的eth0网络接口直接连接到Internet。它具有公共IP(202.54.1.20)。FTP同时使用端口21和20(命令端口使用端口21,数据使用端口20)。因此,遵循iptables规则会同时处理两个端口(将规则添加到基于iptables的Shell脚本中
首先以root用户身份登录
接下来,键入以下命令以加载两个iptables模块:
现在,在脚本中为端口21(打开端口21)上的传入请求添加以下iptables规则:
iptables-AINPUT-ptcp-s0/0--sport1024:65535-d202.54.1.20--dport21-mstate--stateNEW,ESTABLISHED-jACCEPT
iptables -A OUTPUT -p tcp -s 202.54.1.20 --sport 21 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables-AINPUT-ptcp-s0/0--sport1024:65535-d202.54.1.20--dport1024:65535-mstate--stateESTABLISHED,RELATED-jACCEPT
iptables -A OUTPUT -p tcp -s 202.54.1.20 --sport 1024:65535 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables-AOUTPUT-ptcp-s202.54.1.20--sport20-d0/0--dport1024:65535-mstate--stateESTABLISHED,RELATED-jACCEPT
iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 202.54.1.20 --dport 20 -m state --state ESTABLISHED -j ACCEPT
确保iptables Firewall / tcpd不会阻止对ftp服务器的访问。在ftp服务器上运行以下命令(通过ssh登录):
~$ iptables -L -n
3.将阿帕奇中的文件软连接到ftp服务器根目录下
1.下载阿帕奇和响应程序(去度娘吧)
2.ln -s <ftp根目录> /var/www
over,手机连接试试吧