当前位置: 首页 > news >正文

RustFS 重要变更,让容器化部署更安全

随着 RustFS 的持续走热,越来越多的用户开始关注并使用 RustFS,而且在整个过程中提出了很多关键问题。其中在 Start the container using a non-root user #804
中,whg517 用户提出,从安全最佳实践角度出发,RustFS 在容器化运行状态下(包括 docker 部署和 k8s 部署),RustFS 实例应该以非 root 用户运行,并且添加更多安全加固措施。

截屏2025-11-13 13.03.15.png

以非 root 运行容器是业界的安全最佳实践共识,因此 RustFS 修改了 Dockerfile,具体包括:

  • 创建 UID 和 GID 均为 1000 的用户 rustfs
  • rustfs 进程以 rustfs 用户启动;
  • 针对 k8s 部署,还增强了 securityContext 部分内容;

上述变更在 1.0.0-alpha.68 版本正式生效。在版本发布后,我们在 GitHub Issue 上看到有用户从 1.0.0-alpha.67 升级到 1.0.0-alpha.68 出现了 permission denied 错误:

截屏2025-11-13 13.10.51.png

为此,受影响用户可遵循下面的方法进行问题修复并升级。

注意:此变更仅影响容器化运行用户,对于通过脚本或者二进制安装的用户,不受此影响。而且仅影响 1.0.0-alpha.67 及之前版本的用户,后续版本不受影响。

Kubernetes 用户

对于 Kubernetes 用户,此次变更不受影响,因为在 Helm chart 编写之初就增加了 securityContext 部分内容,而且在 pod 中通过 initContainer 来对 /datalogs 目录的权限进行了修改(USER 和 GROUP 均为 1000),此次升级变更不会导致 Kubernetes 用户出现 permission denied 错误。

Docker 用户

对于使用 docker run 或者使用 docker compose 的用户来说,修复该错误的核心原理就是将 RustFS 使用的 /data/logs 两个目录的用户和群组修改为 1000 即可。过程如下:

  • 回滚至 1.0.0-alpha.67 版本

用户可以先会滚至 1.0.0-alpha.67 版本,然后进入到容器中,将 /data/logs 目录的用户和群组从 root 更改至 1000

docker exec -it rustfs sh
chown -R 1000:1000 /data/
chown -R 1000:1000 /logs/
ls -ld /data/
drwxr-x--- 5 1000 1000 4096 Nov 12 04:06 /data/
ls -ld /logs/
drwxr-x--- 5 1000 1000 4096 Nov 12 04:06 /logs/
  • 升级至 1.0.0-alpha.68

直接升级到 1.0.0-alpha.68(或 latest,当前 latest 就是 68 版本)即可。升级成功之后可查看 rustfs 日志并查看 rustfs 进程运行的用户:

docker exec -it rustfs sh
/ $ id
uid=1000(rustfs) gid=1000(rustfs) groups=1000(rustfs)
/ $ whoami
rustfs
/ $ ps
PID   USER     TIME  COMMAND1 rustfs    0:15 /usr/bin/rustfs /data36 rustfs    0:00 sh8057 rustfs    0:00 ps
/ $ ls -ld /data/
drwxr-x--- 5 rustfs rustfs 4096 Nov 12 04:06 /data/
/ $ ls -ld /logs/
drwxr-xr-x 2 rustfs rustfs 4096 Nov 13 04:07 /logs/

RustFS 的安装

目前 RustFS 支持多种安装方式

  • 二进制下载安装或脚本安全
  • Docker 安装
  • Helm Chart 安装

安装方式和步骤可查看 RustFS 官网。

如果您想使用 docker 安装,可参考如下 docker-compose.yml

services:rustfs:image: rustfs/rustfs:1.0.0-alpha.68container_name: rustfshostname: rustfsenvironment:# Use service names and correct disk indexing (1..4 to match mounted paths)- RUSTFS_VOLUMES=/data- RUSTFS_ADDRESS=0.0.0.0:9000- RUSTFS_CONSOLE_ENABLE=true- RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001- RUSTFS_ACCESS_KEY=rustfsadmin- RUSTFS_SECRET_KEY=rustfsadmin- RUSTFS_CMD=rustfsports:- "9000:9000"  # API endpoint- "9001:9001"  # Consolevolumes:- data:/data- logs:/logshealthcheck:test:["CMD","sh", "-c","curl -f http://localhost:9000/health && curl -f http://localhost:9001/health"]interval: 10stimeout: 5sretries: 3start_period: 30snetworks:- rustfsnetworks:rustfs:driver: bridgename: rustfsvolumes:data:driver: locallogs:driver: local

欢迎大家使用 RustFS 作为对象存储系统,目前 RustFS 还在持续研发迭代中,如果您有任何问题,可以通过 GitHub:https://github.com/rustfs/rustfs 提 Issue 或 PR。

http://www.jsqmd.com/news/39988/

相关文章:

  • AI元人文:价值原语化的五维关系调和框架
  • 双赢思维
  • Windows 11 系统对磁盘进行分区保姆级教程
  • 2025年口碑好的风冷一体化加热器厂家实力及用户口碑排行榜
  • 2025年知名的节能加热圈厂家最新TOP排行榜
  • vscode python2代码debug
  • 2025年知名的远红外节能加热圈厂家推荐及采购指南
  • 2025年评价高的膜浓缩设备厂家选购指南与推荐
  • 2025年热门的废水处理液体分离设备TOP实力厂家推荐榜
  • 【URP】Unity[后处理]晕影Vignette
  • 2025年知名的酶制剂浓缩设备最新TOP厂家排名
  • 2025年比较好的板材超声波探伤厂家最新推荐排行榜
  • cad批量转换pdf格式真的简单!这4个小技巧快收藏
  • 2025年靠谱的螺旋风管厂家最新权威推荐排行榜
  • 2025 年 11 月干燥机厂家推荐排行榜,离心喷雾干燥机,压力喷雾干燥机,气流干燥机,振动流化床干燥机,旋转闪蒸干燥机,回转滚筒干燥机公司推荐
  • ARM MPU内存保护单元 - ENGINEER
  • 2025年热门的镀锌风管厂家最新用户好评榜
  • mybatis ResultHandler 对结果集批处理
  • 从 .NET Core1.0 到 .NET 10:.NET + C# 演进全景
  • 2025年靠谱的手板模型厂家推荐及选择指南
  • 再见 Postman!一款开源免费的全能 API 客户端工具!
  • 无法获得锁 /var/lib/dpkg/lock-frontend
  • 2025年成都殡仪一条龙公司权威推荐榜单:殡仪/殡仪一条龙/陵园墓地源头公司精选
  • 【Linux知识】Linux Service 重启策略 Restart 详解 - 指南
  • open-vm-tools安装
  • 2025年AI营销服务怎么选
  • 2025安全立网销售厂家排行
  • 2025年质量好的焊接氢瓶厂家选购指南与推荐
  • 2025年膜结构景观订做厂家口碑推荐
  • 2025年瑜伽垫源头厂家推荐榜