如何使用触摸命令设置文件权限


16

似乎每当我创建一个touch权限设置为:-rw-r--r--的文件时

有什么方法可以配置权限,touch还是必须使用其他命令来配置权限?

Answers:


27

您可以修改您的umask权限以(对于大多数实施方式)允许更多的读/写权限,但不能执行,因为通常要求的权限是0666

如果您umask022,则将看到touch一个0644文件。

有趣的是,POSIX通过以下方式描述了此行为creat

  1. 如果文件不存在:

    科瑞()函数被调用以以下的参数:

    • 文件操作数用作路径参数。

    • 按位包的值ORS_IRUSRS_IWUSRS_IRGRPS_IWGRPS_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则不会更改其权限,只需更新其时间戳即可)。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.