接收到该错误信息,其实并不是vsftpd.conf配置文件设置有问题,而重点是“cannot change directory”,无法更改目录。造成这个错误,主要有以下两个原因。①目录权限设置错误。该错误一般在本地账户登录时发生,如果管理员在设置该账户主目录权限时,忘记添加执行权限(X),那么,就会收到该错误信息。FTP中的本地账号,需要拥有目录的执行权限,请作用chmod命令添加“X”权限,保证用户能够浏览目录信息,否则拒绝登录。对于FTP的虚拟账号,即使不具备目录的执行权限,也可以登录FTP服务器,但会有其他错误提示。为了保证FTP用户的正常访问,请开户目录的执行权限。②SELinux。FTP服务器开启了SELinux针对FTP数据传输的策略,也会造成“无法切换目录”的错误提示,如果目录权限设置正确,那么,需要检查SELinux的配置。用户可以通过setsebool命令,禁用SELinux的FTP传输审核功能。
[root@RHEL4~]# setsebool –P ftpd_disable_trans 1
重新启动vsftpd服务,用户能够成功登录FTP服务器。
2.客户端连接FTP服务器超时。造成客户端访问服务器超时的原因,主要有以下几种情况。①线路不通。使用ping命令测试网络连通性,如果出现“Request Timed Out”,说明客户端与服务器的网络连接存在问题,检查线路的故障。②防火墙设置。如果防火墙屏蔽了FTP服务器控制端口21,以及其他的数据端口,则会造成客户端无法连接服务器,形成“超时”的错误提示。需要设置防火墙开放21端口,并且,还应该开启主动模式的20端口,以及被动模式使用的端口范围,防止数据的连接错误。
原因是SElinux的FTP传输审核功能禁止切换目录你尝试一下禁用SElinux的FTP传输审核功能,命令:
/usr/sbin/setsebool -P ftpd_disable_trans 1
service vsftpd restart
因为没有开启FTP的支持。原因是CentOS系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。
解决方法为:#useradd-d/var/wwwftpuser//useradd-d目录用户名
#passwdftpuser
然后根据提示相应输入密码
然后就可以登录了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)