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

Unix下如何让700权限文件夹自动为新子文件夹设755、文件设644?

当然可行!用ACL默认权限轻松实现

完全可以做到你想要的权限自动继承效果——父文件夹somefolder保持700权限,里面新建的子文件夹自动设为755,文件自动设为644。核心是利用**访问控制列表(ACL)**的默认权限规则,具体操作如下:

步骤1:确认系统支持ACL

绝大多数现代Linux发行版默认已经开启ACL支持,你可以通过挂载信息验证:

mount | grep acl

如果输出包含你存放somefolder的分区(比如/dev/sda1 on / type ext4 (rw,acl,...)),说明已经开启。如果没有,临时重新挂载分区开启ACL:

mount -o remount,acl /path/to/your/partition

想要永久生效的话,编辑/etc/fstab,给对应分区的挂载选项加上acl,比如:

UUID=xxxxxx / ext4 defaults,acl 0 1

步骤2:给somefolder设置默认ACL

切换到somefolder所在路径,执行以下命令设置默认权限规则:

# 设置默认所有者权限:读写执行(目录)/读写(文件)
setfacl -d -m u::rwx /path/to/somefolder
# 设置默认组权限:读执行(目录)/读(文件)
setfacl -d -m g::r-x /path/to/somefolder
# 设置默认其他用户权限:同上组权限
setfacl -d -m o::r-x /path/to/somefolder

解释一下:

  • -d选项表示设置默认ACL,所有在该目录下新建的文件/子目录都会自动继承这些规则
  • u::rwx表示所有者对新内容拥有rwx权限(对应目录的7,文件的6,因为文件默认不会赋予执行位)
  • g::r-x和o::r-x分别给组和其他用户设置rx权限(对应目录的5,文件的4)

步骤3:验证效果

设置完成后,先检查默认ACL是否生效:

getfacl /path/to/somefolder

输出里应该能看到以default:开头的条目,比如:

default:user::rwx
default:group::r-x
default:other::r-x

接下来测试创建内容:

cd /path/to/somefolder
mkdir subfolder1
touch file1

查看权限:

ls -ld subfolder1  # 输出应该是 drwxr-xr-x(对应755)
ls -l file1        # 输出应该是 -rw-r--r--(对应644)

完美匹配你想要的结构!而且父文件夹somefolder的700权限不受影响,只有所有者能进入操作,完全符合初始需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:33:11