解决办法: 登录服务器。执行以下命令
chattr -i /home/wwwroot/default/.user.ini
chown www:www -R /home/wwwroot/你的lnmp安装完vsftpd后,默认情况下,CentOS的防火墙是不开放ftp服务的,需要添加模块和开放21端口才能提供ftp访问。
1.添加ip_conntrack_ftp 模块
[root@hexuweb101 ~] vi /etc/sysconfig/iptables-config
添加下面一行
IPTABLES_MODULES="ip_conntrack_ftp"
2.打开21端口
[root@hexuweb101 ~] vi /etc/sysconfig/iptables
CentOS 5.x版本添加如下规则
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
CentOS 6.x版本添加如下规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
3.重启iptables使新的规则生效
[root@hexuweb101 ~] service iptables restart
做完上面FTP就可以正常连接了
4. 检查iptables 是否正常
[root@hexuweb101 ~]$service iptables status
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255
3 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0
5 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353
6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631
7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
8 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
10 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:21
......
从结果上来看ftp的21号端口已打开,可以使用FTP软件登陆测试了。
另外说明一下,如果端口号20也没有打开的朋友,请使用命令:
[root@hexuweb101 ~]$iptables -A INPUT -p tcp --dport 20 -j ACCEPT
这时ftp连接已经可以,为了保险起见我们把被动模式连接的端口也打开:
[root@hexuweb101 ~]$iptables -A INPUT -p tcp --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT