umask XXX(权限位)给予文件执行权限

Ken*_*nny 3 permissions umask exec

因为默认创建的文件具有 666 的权限并且umask(以权限位形式)从该权限中逐位减去,我们可以做一些事情来授予execute权限而不使用权限字符 (r,w,x) 吗?

我指的是使用按位掩码,例如

umask 002
Run Code Online (Sandbox Code Playgroud)

未设置权限字符,例如

umask u+x
umask u=rwx
Run Code Online (Sandbox Code Playgroud)

Hau*_*ing 6

这不可能。umask只阻止权限,但从不添加它们。因此,只有当创建的open()系统调用确实包含它们时,您才能获得执行权限。如果编译器创建了一个可执行文件,就会出现这种情况。