RHEL/CENTOS 下启用vsftpd匿名上传可能需要做的操作

1、修改文件系统权限

chmod -R 777 /var/ftp/pub/

2、使用可写入型的SELinux Context值

semanage fcontext -a -t public_content_rw_t '/var/ftp/pub(/.*)?' #semanage来自于policycoreutils-python包
restorecon -R /var/ftp/pub/

3、修改SELinux布尔值放行匿名上传(写入)

setsebool -P allow_ftpd_anon_write=1

4、修改/etc/vsftpd/vsftpd.conf配置文件

anonymous_enable=YES    #启用匿名模式
anon_upload_enable=yes   #允许匿名用户上传文件
anon_mkdir_write_enable=yes  #允许匿名用户创建目录
anon_other_write_enable=yes   #允许匿名用户删除、移动、修改文件权限等其他修改操作
write_enable=YES    #全局可写开关,默认已开启(Debian系默认关闭)
chown_uploads=YES    #可选,对于匿名用户上传的文件,是否指定其所有者(不指定则为ftp)
chown_username=ftp    #如果chown_uploads设为YES,指定哪个用户为匿名上传文件的所有者
chown_upload_mode=644   #貌似效果不如anon_umask
anon_umask=000     #匿名上传文件的umask值,为8进制,必须以0开头,chown_uploads=NO时有效
local_umask=000     #本地用户上传文件的umask值,为8进制,必须以0开头,chown_uploads=YES时有效
no_anon_password=YES  #匿名用户无需密码验证

seccomp_sandbox=NO    #某些发行版上传出现530报错可以尝试这个参数