背景
文件存储管理minio为了放开访问权限,设置了*,但如果直接访问桶的路径时,竟然把桶里的所有文件url都列出来了,完犊子,里面放的一些清凉美女图不就被发现了吗
低版本的minio,只有简单的文件管理
问题复现
新增了一个test桶,并且桶里设置了public,设置的policy如下图
直接访问桶的路径时 页面显示如下:
问题解决
一,在服务器找个目录安装minio的客户端,使用mc执行相关命令,参考minio官网安装mc
curl https://dl.minio.org.cn/client/mc/release/linux-amd64/mc \
--create-dirs \
-o $HOME/minio-binaries/mc
chmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/
mc --help
二,进入目录,运行mc 连接minio
$ cd minio-binaries // 安装后会出现minio-binaries目录,可以直接全局使用mc,但是临时的
$ ./mc config host add minio http://127.0.0.1:9000 用户名 密码 // 登录minio
$ ./mc config host list // 检查是否连接成功
三,获取test桶的权限json配置,复制上面的内容,粘贴在一个新json里修改
$ ./mc anonymous get-json minio/test // 获取tong的权限json配置,复制上面的内容
$ touch new_policy.json // 在目录下新建一个new_policy.json
$ vim new_policy.json // 粘贴上面复制的内容,然后删除在action中的 s3:ListBucket, 保存退出
四,用修改后的json重新覆盖之前的配置,
$ ./mc anonymous set-json new_policy.json minio/test // 修改policy json配置
验证
重新打开之前桶的路径,跳转了404,大功告成
如果是新版管理后台设置和java代码控制 可以参考下面第一个资料
参考资料:
minio public桶禁止在直接访问桶位置时列出所有文件url
如何自定义MinIO桶的权限
minio中文文档