vsftp匿名访问Object Storage配置实例
环境
- Linode Object Storage(Free until 5/31)
- 安装并配置s3fs
- 安装并配置vsftp
使用s3fs挂载obj至/mnt
1 2 |
mkdir -p /mnt/Obj/s3fs s3fs -o allow_other s3fs /mnt/LinodeObj/s3fs -o url=https://us-east-1.linodeobjects.com |
开启vsftp匿名访问及配置匿名访问主文件夹
nano /etc/vsftpd.conf
1 2 |
anon_root=/srv/ftp anonymous_enable=YES |
映射已挂载的obj目录至ftp匿名主目录
这里并没有将obj的挂载目录直接共享作为ftp匿名用户主文件夹,主要是考虑灵活性,以便后续在匿名用户主文件夹里加入更多其他路径
1 2 |
mkdir -p /srv/ftp/transfer mount --bind /mnt/LinodeObj/s3fs /srv/ftp/transfer |
这样在匿名用户主文件夹内就可以看到Object Storage文件夹内容并且可以下载/上传和删除操作。
另外NextCloud对直接通过S3挂载的目录会出现权限问题,上传的文件属性在s3fs挂载的文件夹内是000,无法通过匿名ftp下载,解决方法是直接在NextCloud中将/mnt已挂载的目录通过本地目录载入,这样在进行文件操作的时候会通过s3fs服务中转,解决文件权限000的问题。
另外如果匿名主目录里挂载了www-data所有的目录,例如web程序输出结果的目录,在匿名访问的时候只能查看下载,是没有权限上传和删除的,即使vsftp中设置权限也是没有用的。
另外有一次mount后在sftp中可以看到obj目录但是在ftp中无法查看,umount刷新ftp可以看到目录后再重新mount后就好了。。。
There are no comments yet