操作系统

解决Centos下vsftp无法上传文件的问题,附vsftp配置详解

重量网络最近买了一个腾讯云的VPS,一直在折腾着,偶然请我帮忙敲几行命令解决一些小问题。 这不,今天他通过yum在线安装了一个vsftp后,发现不太会用,就按照网上的教程东搞西搞。最后发现无法上传文件了,就给我操作了一把。 用SecureCRT远程登录后,我做了如下检查: ①、打开了vsftp配置文件(/etc/vsftpd/vsftpd.conf)检查write_enable状态,发现正常: ②、查看ftp用户是否具备目录的读写权限,发现也是可行的775状态(www组)。 ③、在命令提示符CMD中使用ftp,可获取到一些explore看不到的报错信息,便于资料搜索: 于是在百度搜索了下如下报错信息: 200 PORT command successful. Consider using PASV.       425 Failed to establish connection.    最终,在一个linux论坛才找到了如下解决办法: 作者说这个问题在Centos上才会出现,Redhat就没有,难怪我在公司都没见过这问题。 解决办法: ①、查看ftp的Selinux状态:sestatus -b | grep ftp ②、在结果中可以看到: ftp_home_dir  off ③、将状态改为on:setsebool -P  ftp_home_dir  on ④、重启vsftp服务:service vsftpd restart 有点纳闷的是,他的服务器根本就没开selinux,所以第②步根本没结果,理论上,这个解决办法应该没效果才对,可实际上,全部执行完成之后,发现可以上传文件和新建文件夹了。我去,还真是诡异,总之解决了问题就好。 张戈额外补充一条VPS常用的新增FTP帐号的命令行,方便定义不同的ftp帐号: 下面附上 vsftp.conf 的详细的配置参数说明: 参数很全也很长,当不清楚的时候,可以在这搜索定位到相关说明,希望对你有帮助。
阅读全文