- 安装vsftpd
yum install -y vsftpd
- 编辑ftp配置文件
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
#anonymous_enable=YES
chroot_local_user=YES
#去掉前面的注释
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
#不受限制的用户列表,用不用都OK
allow_writeable_chroot=YES
#加上这行解决了无法登陆的问题
- 启动/重新启动ftp
service vsftpd start
service vsftpd restart
- 设置开机启动ftp
chkconfig vsftpd on
- 防火墙配置(iptables)
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT #这里可能要把20号端口也打开
-
防火墙重新启动
-
建立ftp账户
useradd -d /path/you/want -s /sbin/nologin ftpadmin
- 修改密码
passwd ftpadmin
- 设置账户权限
chown -R ftpadmin.ftpadmin /path/you/set
关闭selinux
在虚拟机里面安装的时候,在windows下面连接最好用ftp专业连接工具,比如cuteftp。
测试是否安装成功
1. 首先保证网络畅通(假设win: 192.168.1.1 linux: 192.168.1.2)
2. 安装VSFTPD软件,(一般情况下都会安装好,可以通过rpm -qa |grep vsftpd来查看)
3. 启动vsftpd服务,service vsftpd start ,出现了一个OK,就算是启动成功了。
4. 在LINUX的字符界面测试一下服务器是否正常:
输入ftp localhost,回车如果成功会提示让你输入用户名,输入ftp,回车,提示输入密码,直接回车,如果出现了ftp>,此时继续输入dir,如果看到了一个pub的目录,说明服务器没有问题,正常。
5. 转到windows上测试,打开IE浏览器输入ftp://192.168.1.2 ,如果可以看到pub文件夹,说明好了,如果不能提示无法访问,有可能是linux的防火墙和SELINUX机制导致的。
解决办法:
A: 分别执行: iptables -F
iptables -X
service iptables save
B. 编辑/etc/sysconfig/selinux,会看到一个selinux=enable,如果是enable,改成disabled,然后一定要重启linux系统,这样应该就没有问题了。