文件基本权限为 666,为什么?这是一个可配置的值吗?

文件基本权限为 666,为什么?这是一个可配置的值吗?

网络上的各种文档都指定,根据 umask 的操作方式,linux/unix 文件基本权限为 666。

这也与默认 ACL 权限对在默认 ACL 权限下创建的文件强制执行 rw 掩码的事实有关。

  1. 666的文件基本权限可以更改吗?
  2. 在默认 ACL 下创建的文件所生成的掩码的行为似乎模仿了所述文件基本权限 666(停用执行),实际上是所述文件基本权限的函数吗?
  3. 如果 #1 是一个可配置选项,那么所述配置在哪里?

这至少与以下系统有关:

Ubuntu 12.04.3

然而我推测这种行为对于很多 UNIX 来说很常见。

答案1

Unix 系统对新建文件的默认权限是0666
Unix 系统对新建目录的默认权限是0777

如果您不想设置默认的基本权限,请设置适当的umask值。
你唯一不能轻易做到的umask是创建一个默认可执行的文件(根据简单的常识,你应该这样做不是无论如何都想这样做。将文件设置为可执行文件应该是一个有意识的选择,而不是默认行为。

如果您不喜欢默认 ACL 行为,可以使用 进行更改setfacl
除了默认 ACL 通常反映 Unix 权限这一事实之外,ACL 和 Unix 权限通常彼此独立。


自 20 世纪 60 年代以来,基本权限就如上所述(当世界是一个更加友善、温和的地方,安全也不是那么令人担忧时 - 让系统中的每个人都有能力处理你的文件,这对于一个由所有研究人员共同协作的封闭系统来说可能是一件好事)。

没有人会在生产操作系统中改变这个默认设置,您也不应该更改它。如果您无论如何都选择这样做,那么就内核更改而言,它相对简单:编辑内核代码并更改默认值,然后重建并安装您的自定义内核。

实现这样的改变(编辑什么文件,改变什么)留给读者练习。
坦率地说,如果你不能弄清楚如何做出改变不应该尝试.
了解你的局限性,如果需要的话,雇佣一个内核黑客。

相关内容