vsftpd出现421错误的解决办法

发布时间:2020-12-19编辑:脚本学堂
centos5下安装配置vsftpd,测试时出现如下的错误:
cannot change directory /var/www/webuser
421 Service not available,remote server has closed connection.

centos5下安装配置vsftpd,测试时出现如下的错误:
cannot change directory /var/www/webuser
421 Service not available,remote server has closed connection.

下面是具体的实验过程,供大家学习参考。

1.安装:rpm -Uvh vsftpd-xxxx-xxx.rpm

2.不改变配置文件,用匿名用户测试 ftp 127.0.0.1 ->user ftp pass aa@
登录成功。可以看到有pub目录。(注,ftp用户==anonymous)

3.新建用户,webftp,ftp组,主目录/var/www/webuser
(1)# useradd webftp -r -m -g ftp -d /var/www/webuser -c "WebFtp User"
   # passwd webftp    ##添加ftp账户与密码
(2)# chown webftp.ftp /var/www/webuser
   # chmod 755 /var/www/webuser  ## 改变目录所有者和权限

(3)测试: ftp 127.0.0.1 -> user webftp pass xxxxxx(你自己设置的密码)
   结果:cannot change directory /var/www/webuser
        421 Service not available,remote server has closed connection.

4.解决
(1)关掉selinux
   #vim /etc/selinux/config
   将selinux=enforcingpermissive改成disabled。(有提示)
(2)设置防火墙,允许FTP服务通过
   #system-config-securitylevel
   选择FTP服务
(3)重启ftp服务:
  # /etc/init.d/vsftpd restart

5.重新测试,登录成功,ok。