Answers:
您可以修改您的umask
权限以(对于大多数实施方式)允许更多的读/写权限,但不能执行,因为通常要求的权限是0666
。
如果您umask
是022
,则将看到touch
一个0644
文件。
有趣的是,POSIX通过以下方式描述了此行为creat
:
如果文件不存在:
该科瑞()函数被调用以以下的参数:
文件操作数用作路径参数。
按位包的值OR的
S_IRUSR
,S_IWUSR
,S_IRGRP
,S_IWGRP
,S_IROTH
,和S_IWOTH
被用作模式参数。
只有通过链接到creat
,然后到open
,注意提及umask
并回溯到open
(和creat
)以验证umask
应该影响的链接touch
。
为了umask
只影响touch
命令,请使用子shell:
(umask 066; touch private-file)
(umask 0; touch world-writable-file)
touch file-as-per-current-umask
(请注意,无论如何,如果文件事先存在,touch
则不会更改其权限,只需更新其时间戳即可)。
您可以操纵umask
。通常设置为022
意味着用户创建文件时,它将获得的许可0644
,您可以umask
根据需要进行操作。