virtual_use_local_privs=NO #匿名用户不具有本地用户的权限,看不到目录中的文件,即不可浏览。

anon_world_readable_only=NO #匿名用户可以浏览FTP目录和下载文件

anon_upload_enable=YES #允许匿名用户上传文件

anon_mkdir_write_enable=YES #允许匿名用户建立和删除目录

anon_other_write_enable=YES #允许匿名用户改名和删除文件

enable_write=YES #拥有写的权限。

问题是上述的参数并不是独立的,而是相互作用的,比如一个用户虚拟用户a想让它只有上传文件的权限理论上如下的配置就可以实现了

virtual_use_local_privs=NO

anon_world_readable_only=NO

anon_upload_enable=YES

但是实际情况你会发现你不能上传文件,上传时出现530 permission denied

这是因为你没给它写的权限呀!所以还得要加上一句enable_write=YES才可以。

假如现在我想建立一个用户,可以上传文件,可以建立文件夹,但是不能重命名已经上传了的文件和文件夹,不能删除文件

那么他的权限配置会是怎样的呢?应该是如下这般的:

virtual_use_local_privs=NO #不具有可登录用户的权限

anon_world_readable_only=NO #可浏览目录

write_enable=YES #

anon_upload_enable=YES #要同时具备写和匿名上传权限,才能上传。

anon_mkdir_write_enable=YES #可以新建文件夹,但不能修改文件名,不能删除文件/夹