Files
如何使用 touch 命令設置文件權限
似乎每當我創建一個
touch
權限設置為的文件時:-rw-r–r–。有什麼方法可以配置權限,
touch
還是必須在使用不同的命令後完成?
您可以修改您的
umask
以允許(對於大多數實現)更多的讀/寫權限,但不是可執行的,因為通常請求的權限是0666
.如果你的
umask
is022
,你會看到touch
make a0644
file。有趣的是,POSIX用以下方式描述了這種行為
creat
:
- 如果文件不存在:
使用以下參數呼叫creat()函式:
* 文件操作數用作路徑參數。 * 、、、、和的按位或的值用作模式參數。
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
則不會更改其權限,只需更新其時間戳)。