在UBUNTU 7.04 中安装后, 匿名上传不行, 改了目录属性后, 一直提示
500 OOPS: vsftpd: refusing to run with writable anonymous root
找了很久, 原来原因很简单, 但是配置文件中没说明白
其他都是一样设置, 没什么说的:
anonymous_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
anon_world_readable_only=NO
重要的在于: 在/etc/vsftpd/vsftpd.conf 所设置的匿名用户的目录的问题!!!
anon_root=/home/ftp/
表示匿名用户登录后所在的地方, 但是, 即使上传, 也不能上传到这个目录下, 只能上传到这个目录的子目录下!!!
就是说, 对于这个目录, 应该是读属性, 否则匿名不能登录:
代码:
sudo chmod 555 /home/ftp
然后在这个目录下建立一个目录, 如 incoming , 设置为可写:
代码:
sudo chmod o+w /home/ftp/incoming
这样, 上传就只能上传到匿名用户主目录的子目录下( 如incoming)
按照以上修改后如果出现550 Failed to change directory 错误。
在ftp 目录下ls -l 查明子目录的属性,如果own 是root 则发生550 错误,
解决方法:
代码:
sudo chown ftp incoming
就OK 了~