所以默认情况下我的 /
目录是 chmod 555
。我运行了以下内容来测试:
sudo chmod 777 /
mkdir /dss
sudo chmod 555 / # reset permissions
如果我运行 stat /dss
那么它会显示
File: ‘/dss’
Size: 6 Blocks: 0 IO Block: 4096 directory
Device: 10302h/66306d Inode: 5802557 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 1001/ssm-user) Gid: ( 1002/ssm-user)
Access: 2021-06-30 22:01:44.478434800 +0000
Modify: 2021-06-30 22:01:44.478434800 +0000
Change: 2021-06-30 22:01:44.478434800 +0000
我希望 /dss
在创建时从 /
继承 777 权限吗?如果我在 /dss
下创建任何子目录,它们都是 755。这里发生了什么?
答案 0 :(得分:1)
您在这个问题中匹配了两个不同的东西,chmod 是为特定路径或文件设置权限的命令,您可以以不同的方式递归地执行此操作,但您要问的是 umask 值,该值决定了授予的权限创建时的文件。
如果你想检查值设置,你必须执行命令“umask”,这可以告诉你用户必须创建文件的默认值。
如果要更改 umask 值,可以运行以下命令进行设置。
<块引用>umask 022
请记住,您在上述命令中描述的数字是不会授予文件的权限,因此,在这种情况下,将生成 755。
请参考下表。
号码 允许 4 读 2 写 1 执行
这个命令不是永久的,一旦你注销,这个命令就会丢失并设置为默认值,如果你想以永久的方式改变这个值,你需要在“/etc/profile”或“bashrc”中设置添加上面的命令,可以参考[1]。
BR。
[1] https://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html