使用ftp服务上传文件时553报错的解决

在使用ftp上传本地文件时,会遇到553的报错,以下是我总结的解决方法

1.使用本地用户登陆时

在使用本地用户登陆ftp服务上传文件时,如果遇到553的报错,一般来说可能有两种原因

3CDaemon FTP 451错误 ftp error 553_解决方法

  • 原因1:本地文件系统权限问题
    解决方法:
chmod +w /home/student			##给对应的本地用户添加一个可写的权限

如果权限设置好后,还是不能上传,看看selinux服务是否开启

  • 原因2:selinux是开启状态而本地用户上传的bool值为off
getenforce						##通过该命令查看selinux状态,如果是开启状态就有可能是selinux的问题

- 解决方法1: 关闭selinux

vim /etc/sysconfig/selinux		##编辑selinux配置文件,在其中把selinux状态改成disabled
reboot							##重启系统后就可以成功上传了

- 解决方法2: 设定bool值
如果不想关闭selinux服务,可以通过设置bool值打开使用本地用户上传功能的权限

getsebool -a | grep ftp			##在这里查看ftp服务的bool值
setsebool -P ftp_home_dir on	##打开本地用户上传功能

设置完成后就可以成功上传文件了

2.使用匿名用户登陆时

使用匿名用户登陆ftp服务在pub目录下上传文件时,如果遇到553的报错,一般来说可能有两种原因

3CDaemon FTP 451错误 ftp error 553_解决方法_02

  • 原因1:权限问题
    有可能是/var/ftp/pub目录权限的问题
    解决方法:
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub

如果更改完权限还是553的报错,那么就要考虑是selinux的问题

  • 原因2:selinux
getenforce						##通过该命令查看selinux状态,如果是开启状态就有可能是selinux的问题

- 解决方法1: 关闭selinux

vim /etc/sysconfig/selinux				##编辑selinux配置文件,在其中把selinux状态改成disabled
reboot									##重启系统后就可以成功上传了

- 解决方法2: 设定bool值并更改安全上下文

getsebool -a | grep ftp					##在这里查看ftp服务的bool值
setsebool -P ftpd_anon_write on			##打开匿名用户上传功能
semanage fcontext -a -t public_content_rw_t '/var/ftp/pub(/.*)?'	##修改pub目录安全上下文使它具有写的功能
restorecen -RvvF /var/ftp/pub			##刷新