问题描述
umask 值从 666 中减去以设置新文件的默认权限,并从 777 中减去新目录。 要更改文件权限,我们在创建后使用 chmod。 如何创建具有 755 默认权限的新文件?
解决方法
应用程序在调用 open()
或 mkdir()
时指定的任何权限都会减去 umask。
通常,应用程序在创建数据文件时指定权限 666
,或在创建目录或可执行文件时指定 777
。创建可执行文件的应用程序通常只是链接器(可能由编译器内部调用)。
没有办法使用 umask 添加权限,它只能减去。当所有文件实际上无法执行时,为什么要使用 755
权限创建所有文件?脚本文件需要可执行权限,但大多数数据文件都不是脚本。
当然,在您编写的应用程序中,您可以在对 777
的调用中使用 open()
权限。我假设您正在编程,否则这个问题在这里会偏离主题,并且属于 Unix & Linux Stack Exchange。