vsftp无法上传文件
用SecureCRT远程登录后,我做了如下检查:
①、打开了vsftp配置文件(/etc/vsftpd/vsftpd.conf)检查write_enable状态,发现正常:
[root@VM_72_108_centos /]# cat /etc/vsftpd/vsftpd.conf | grep write_enable
write_enable=YES
#anon_mkdir_write_enable=YES
[root@VM_72_108_centos /]#
②、查看ftp用户是否具备目录的读写权限,发现也是可行的775状态(www组)。
[root@VM_72_108_centos wwwroot]# ll
total 8
drwxrwxr-x 3 www www 4096 Jun 12 12:34 default
drwxrwxr-x 9 www www 4096 Jun 12 14:54 weixin.weightwl.com
③、在命令提示符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帐号:
useradd -g www -d /home/www/zhangge.net -s /sbin/nologin username
# -g 表示所属用户组,请根据实际选择
# -d 表示登录后的工作目录,请指定所要指向的网站根目录即可。
# -s /sbin/nologin 表示设定此账号仅用于ftp,不允许登录到系统。
#username 新增的用户名,请自定义。
passwd username
#如上使用passwd 设定ftp用户的密码。
补充:CENTOS6.4 VSFTP无法上传文件的解决方法
方法1、直接关闭selinux,命令:/usr/sbin/setenforce 0;
方法2、在selinux开启的情况下
运行命令(查看ftpd开启的服务):getsebool -a | grep ftp
下图是无法上传文件的情况:allow_ftp_anon_write
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔