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

基于用户组的AWS EFS(NFS目录)文件夹级权限配置方案咨询

基于用户组的AWS EFS(NFS目录)文件夹级权限配置方案咨询

嗨,针对你这个AWS EFS的分组权限需求,因为EFS确实不支持ACL,咱们完全可以靠Unix传统的POSIX权限模型来实现,步骤很清晰,我给你拆解一下:

1. 先确保EFS正确挂载到Linux服务器

首先把你的EFS(efs1)挂载到目标目录/data,用NFS 4.x的挂载命令(记得替换成你的EFS ID和区域):

sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-xxxxxx.efs.us-east-1.amazonaws.com:/ /data

这些挂载选项是EFS官方推荐的,能保证性能和稳定性。如果需要开机自动挂载,可以把这条命令加到/etc/fstab里。

2. 创建并配置用户组

在Linux服务器上创建你需要的group1、group2,以及一个用于共享sd2的中间组(因为单个目录只能有一个所属组,得靠它让两个组的用户都能访问sd2):

# 创建基础用户组
sudo groupadd group1
sudo groupadd group2
# 创建sd2的共享组,用于让两个组的用户都能访问该目录
sudo groupadd group_sd2

然后把用户加到对应的组里:

  • 给需要访问sd1和sd2的用户,同时加入group1和group_sd2:
    sudo usermod -aG group1,group_sd2 user1
    
  • 给需要访问sd2和sd3的用户,同时加入group2和group_sd2:
    sudo usermod -aG group2,group_sd2 user2
    

注意:如果有多台服务器挂载这个EFS,一定要保证所有服务器上的用户组GID完全一致,否则权限会出问题。可以用LDAP或者统一的用户管理工具来同步UID/GID。

3. 创建子目录并设置权限

先创建需要的sd1、sd2、sd3目录:

sudo mkdir /data/sd1 /data/sd2 /data/sd3

然后给每个目录设置所属组和权限,同时开启setgid位(这样目录里新创建的文件会自动继承目录的所属组,不用每次手动修改):

  • 配置sd1:仅允许group1用户访问
    sudo chown :group1 /data/sd1
    sudo chmod 770 /data/sd1
    sudo chmod g+s /data/sd1
    
  • 配置sd2:允许group1和group2用户访问(通过group_sd2实现)
    sudo chown :group_sd2 /data/sd2
    sudo chmod 770 /data/sd2
    sudo chmod g+s /data/sd2
    
  • 配置sd3:仅允许group2用户访问
    sudo chown :group2 /data/sd3
    sudo chmod 770 /data/sd3
    sudo chmod g+s /data/sd3
    

4. 验证权限配置

你可以切换到对应用户,测试权限是否符合预期:
比如用user1测试:

su - user1
cd /data/sd1  # 应该能正常进入,可创建/修改文件
cd /data/sd2  # 也能正常操作
cd /data/sd3  # 会提示权限拒绝,符合需求

用user2测试同理,能正常访问sd2和sd3,但无法进入sd1。

备注:内容来源于stack exchange,提问作者Yash

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 12:49:32