使用ftp服务上传文件时553报错的解决
在使用ftp上传本地文件时,会遇到553的报错,以下是我总结的解决方法
1.使用本地用户登陆时
在使用本地用户登陆ftp服务上传文件时,如果遇到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的报错,一般来说可能有两种原因
- 原因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 ##刷新