为什么文件的 umask 从 666 而不是 777 中减去?

问题描述

umask 值从 666 中减去以设置新文件认权限,并从 777 中减去新目录。 要更改文件权限,我们在创建后使用 chmod。 如何创建具有 755 认权限的新文件

解决方法

应用程序在调用 open()mkdir() 时指定的任何权限都会减去 umask。

通常,应用程序在创建数据文件时指定权限 666,或在创建目录或可执行文件时指定 777。创建可执行文件的应用程序通常只是链接器(可能由编译器内部调用)。

没有办法使用 umask 添加权限,它只能减去。当所有文件实际上无法执行时,为什么要使用 755 权限创建所有文件?脚本文件需要可执行权限,但大多数数据文件都不是脚本。

当然,在您编写的应用程序中,您可以在对 777 的调用中使用 open() 权限。我假设您正在编程,否则这个问题在这里会偏离主题,并且属于 Unix & Linux Stack Exchange