【发布时间】:2019-04-01 17:43:02
【问题描述】:
我想创建权限为 755 的 unix 文件。如果我使用 022 的 umask,则创建的文件是 644。这是为什么呢?为什么没有使用执行权限创建文件?有什么办法?
【问题讨论】:
-
因为大多数文件是不可执行的——你必须添加执行权限。
-
程序通过 open 系统调用指定最大允许权限(通常
0666用于文件,0777用于目录,但有时例如0600用于 ssh 私钥)。 umask 只会从中减去权限,它不能添加任何权限。您的文件不会变成0755,因为程序要求创建它时没有执行权限。