必须借助fuse类工具(如s3fs-fuse)将存储桶挂载为本地路径,因macos原生不支持直接挂载s3协议存储;需先安装macfuse,再通过homebrew安装s3fs-fuse,配置密钥文件(权限严格设为600),并指定对应服务商endpoint及use_path_request_style等参数完成挂载。

要在Mac上像访问本地文件夹一样直接读取S3兼容协议的云存储(如阿里云OSS、腾讯云COS、MinIO、Backblaze B2等)中的文件,必须借助FUSE类工具将存储桶挂载为本地路径,否则系统原生不支持直接挂载S3协议存储。
安装macFUSE和s3fs-fuse
macOS不自带FUSE支持,必须先安装macFUSE——这是所有基于FUSE的挂载工具(包括s3fs)运行的前提。没有它,s3fs会报错“operation not permitted”或直接拒绝启动。
访问 https://osxfuse.github.io/ 下载最新版macFUSE安装包(截至2026年9月为4.4.3),双击安装并全程点击“继续”,安装过程中需输入管理员密码并允许系统扩展加载。
打开终端,执行以下命令安装s3fs-fuse:
brew install s3fs-fuse
若未安装Homebrew,先运行 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 安装;若提示“command not found: brew”,说明Homebrew尚未就绪,必须先完成这步。
配置访问密钥文件
s3fs要求密钥以明文形式存于本地文件中,且权限必须严格限制为仅当前用户可读,否则挂载时会拒绝加载并报错“passwd file permissions too open”。
执行以下命令创建密钥文件:
echo "ACCESS_KEY_ID:SECRET_ACCESS_KEY" > ~/.passwd-s3fs
将其中 【ACCESS_KEY_ID:SECRET_ACCESS_KEY】 替换为你实际的密钥对(注意冒号为英文半角,前后无空格)。
立即设置权限:
chmod 600 ~/.passwd-s3fs
这一步不可跳过,哪怕只是临时测试——s3fs在启动时会校验该文件权限,600以外的任何值(如644、755)都会导致挂载失败。
挂载S3兼容存储桶
不同S3兼容服务需指定对应endpoint和请求样式,否则会返回403 Forbidden或NoSuchBucket错误。以下是通用挂载命令结构:
s3fs BUCKET_NAME /path/to/mountpoint -o passwd_file=$HOME/.passwd-s3fs -o url=https://ENDPOINT -o use_path_request_style -o allow_other -o umask=022
其中关键参数说明:
• 【url=https://ENDPOINT】 必须填写你所用服务商的实际接入域名,例如:阿里云杭州区域填 https://oss-cn-hangzhou.aliyuncs.com,腾讯云广州填 https://cos.ap-guangzhou.myqcloud.com,自建MinIO则填 http://192.168.1.100:9000(注意协议用http还是https);
• 【use_path_request_style】 对绝大多数非AWS S3服务是必需的,否则默认的virtual-hosted-style请求会被拒绝;
• allow_other 允许Finder和其他应用访问挂载点(否则只有root能ls);
• umask=022 确保挂载后文件权限对普通用户友好。
举例:挂载阿里云OSS bucket名为my-oss-bucket到本地~/mnt/oss目录:
mkdir -p ~/mnt/oss
s3fs my-oss-bucket ~/mnt/oss -o passwd_file=$HOME/.passwd-s3fs -o url=https://oss-cn-hangzhou.aliyuncs.com -o use_path_request_style -o allow_other -o umask=022
验证挂载是否成功
执行 mount | grep s3fs,若输出中包含你的挂载路径(如 my-oss-bucket on /Users/xxx/mnt/oss (osxfuse)),说明已挂载。
在终端中进入挂载目录:cd ~/mnt/oss,运行 ls -la 查看桶内根目录内容。
打开访达(Finder),前往菜单栏「前往」→「前往文件夹」,输入 ~/mnt/oss 回车,即可像浏览本地文件夹一样查看、拖入、预览(部分格式)、复制文件。
注意:首次访问大目录可能有1–3秒延迟,这是s3fs拉取元数据所致,属正常现象;若卡住超过10秒无响应,检查网络连通性及endpoint是否拼写错误。
卸载与清理
不再使用时,务必用 fusermount -u /path/to/mountpoint 卸载(macOS下等效命令为 umount /path/to/mountpoint)。
例如:umount ~/mnt/oss
直接强制删除挂载点目录或重启电脑不卸载,可能导致下次挂载时报“device busy”;强行kill进程可能损坏缓存一致性。











