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

Linux下如何为单个文件设置多用户差异化权限

Linux下如何为单个文件设置多用户差异化权限

嗨,你已经懂基础的chmod、chown这些命令,这点很棒!但普通的Linux文件权限只有owner、group、others三层,没法直接给多个独立用户分别设置不同权限。这时候**ACL(访问控制列表)**就是解决问题的关键——它能让你给任意数量的用户/组单独定义权限规则。

下面是针对你的需求的具体操作步骤:

1. 确认系统支持ACL

现在绝大多数Linux发行版默认都支持ACL,你可以通过挂载信息验证:

mount | grep acl

如果能看到挂载分区带有acl选项,就可以直接往下走;如果没有,可能需要重新挂载分区并添加acl参数(比如mount -o remount,acl /,具体路径根据你的挂载点调整)。

2. 给每个用户设置对应权限

使用setfacl命令来添加或修改ACL规则,格式是setfacl -m <类型>:<用户/组>:<权限> <文件名>:

  • 给用户a设置读、写、执行权限:
    setfacl -m u:a:rwx format.sh
    
  • 给用户b设置读、执行权限:
    setfacl -m u:b:rx format.sh
    
  • 给用户c设置只读权限:
    setfacl -m u:c:r format.sh
    
  • 给用户d设置仅执行权限:
    setfacl -m u:d:x format.sh
    
  • 给用户e设置无权限:
    setfacl -m u:e:- format.sh
    
    (如果用户e之前已经有相关ACL规则,也可以用setfacl -x u:e format.sh删除规则,效果是一样的——没有明确允许的权限就会被拒绝)

3. 验证权限设置

用getfacl命令查看文件的完整ACL规则,确认设置是否正确:

getfacl format.sh

输出里会列出所有用户的权限规则,你可以核对每个用户的权限是否符合预期。

小提示

  • ACL规则的优先级高于普通的owner/group/others权限,所以即使某个用户属于文件的group,只要ACL给了他单独的权限,会优先生效。
  • 如果需要复制文件时保留ACL权限,记得用cp -p或者rsync命令,普通的cp可能会丢失ACL规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 12:18:13