Centos Vsftpd 无上传权限 (553 Could not create file) 解决方案

最近折腾国外VPS,好不容易买了,不能浪费。

继出现一些问题后,昨天又出现问题,

[10:40:42] [R] 553 Could not create file.

不管用管理员用户还是其他用户,都不能执行操作。

能下载,不能上传!不能重命名,查找不同资料,均没有解决问题。

1、检查文件夹权限,确实全是777

2、服务器的配置文件

anon_upload_enable=YES
anon_mkdir_write_enable=YES

也没有问题,

经过其他很人对这个问题关注,估计是跟selinux有关
下面我关闭了它
在/etc/selinux/config 配置文件如下;
/etc/selinux/config
SELINUX=Disabled #这样就把SELINUX服务器关掉了,请重新启动系统;

奇迹发生了,本地用户方式可以上传了,但是匿名用户还不可以
比先前更糟,看不到列表了,呜~
错误如下:500 OOPS: vsftpd: refusing to run with writable anonymous root
处理办法
chown root:root /var/ftp
chmod 755 /var/ftp 必须是755
vsFTPd出于安全考虑,是不准让ftp用户的家目录的权限是完全没有限制的,您可以去读一下vsFTPd的文档就明白的了
在/var/ftp下再建一个目录,权限是777的就行了

匿名用户:删除,覆盖没权限,报错误:550 Delete operation failed.
在vsftpd.conf配置文件中
加入anon_other_write_enable=YES 就解决问题了
经过几天渐进的学习,并做如下总结:匿名ftp帐号的开启
1、开启ftp的端口号,或者关闭防火墙
2、selinux关闭
3、配置文件正确配置
4、目录权限的正确设置
基本可以大功搞成。
补充一下selinux 可以不关闭,这样就不需要重启服务器,
把Enforcing (强制模式)改成permissive(宽容模式)就行了
命令:setenforce 0
接下来还是再配置哈 虚拟用户 这种安全性最高
怎能不用它呢!
附上 selinux 简介

linux下ftp(vsftpd)添加用户及设置权限详细步骤

1、环境:ftp为vsftp。被限制用户名为test。被限制路径为/home/test
2、建用户:在root用户下:
useradd test //增加用户test,并制定test用户的主目录为/home/test
passwd test //为test设置密码
3、更改用户相应的权限设置:
usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftp
usermod -s /sbin/bash test //用户test恢复正常
usermod -d /test test //更改用户test的主目录为/test
4、限制用户只能访问/home/test,不能访问其他路径
修改/etc/vsftpd/vsftpd.conf如下:
chroot_list_enable=YES //限制访问自身目录
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行
改完配置文件,不要忘记重启vsFTPd服务器
[root@linuxsir001 root]# /etc/init.d/vsftpd restart 或 service vsftpd status
5、如果需要允许用户修改密码,但是又没有telnet登录系统的权限:
usermod -s /usr/bin/passwd test //用户telnet后将直接进入改密界面

6.别忘记更改文件夹的权限,否则会服务器上传下载文件额。

例如:chmod 777 filename 最高权限,当然你也可以改755 等

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: