cha*_*ian 18 permissions files touch
似乎每当我创建一个文件时touch
,权限都设置为:-rw-r--r--。
有什么方法可以配置权限,touch
还是必须使用不同的命令来完成?
Tho*_*key 29
您可以修改您的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
Run Code Online (Sandbox Code Playgroud)
(请注意,无论如何,如果文件事先存在,touch
则不会更改其权限,只会更新其时间戳)。