You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EC2挂载的EFS文件系统无法写入,配置权限策略后仍未生效如何解决?

EFS无法写入问题排查及ASG适配方案

无法写入的常见原因及修复

1. Linux本地文件权限问题(概率最高)

EFS挂载完成后默认根目录的所有者为root:root,权限为755,非root用户默认没有写入权限。可以先执行sudo touch /mnt/efs/fs1/test.txt验证root用户是否可写,如果可以写入即可确认是该问题。
修复方式二选一:

  • 开放所有用户写入权限:sudo chmod 777 /mnt/efs/fs1
  • 赋予指定用户所有权(以Amazon Linux默认的ec2-user为例):sudo chown ec2-user:ec2-user /mnt/efs/fs1

2. 挂载参数配置错误

检查挂载配置是否设置了只读参数:

  • 查看/etc/fstab中的EFS挂载条目,确认没有ro只读标记,正确配置示例:fs-02cdc4adbb7c75b71:/ /mnt/efs/fs1 efs defaults,_netdev 0 0
  • 如果是手动临时挂载,检查挂载命令是否误加了ro参数

3. EC2实例IAM角色权限缺失

你当前配置的EFS资源策略是正确的,但需要确认EC2实例绑定的IAM角色包含以下权限,且没有对应Deny规则:

{
    "Effect": "Allow",
    "Action": [
        "elasticfilesystem:ClientRootAccess",
        "elasticfilesystem:ClientWrite",
        "elasticfilesystem:ClientMount"
    ],
    "Resource": "arn:aws:elasticfilesystem:us-east-1:198516420706:file-system/fs-02cdc4adbb7c75b71"
}

4. 安全组规则拦截

检查EFS挂载目标关联的安全组,是否允许EC2实例所在安全组的2049端口(NFS协议)入站访问,流量被拦截也会导致读写异常。

自动扩缩容组适配配置

要实现ASG新启动的实例自动挂载现有EFS,只需要在启动模板/启动配置的用户数据(User Data)中添加如下脚本即可:

#!/bin/bash
# 安装efs-utils(非Amazon Linux系统需要执行,Amazon Linux2/2023默认已预装可跳过)
# apt update && apt install -y amazon-efs-utils # Ubuntu系统执行
# yum install -y amazon-efs-utils # CentOS等RPM系系统执行
# 创建挂载目录
mkdir -p /mnt/efs/fs1
# 写入fstab配置实现开机自动挂载
echo "fs-02cdc4adbb7c75b71:/ /mnt/efs/fs1 efs defaults,_netdev 0 0" >> /etc/fstab
mount -a
# 统一配置挂载目录权限,避免新实例手动调整
chmod 777 /mnt/efs/fs1

内容的提问来源于stack exchange,提问作者Casey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 14:54:00