Files

如何使用 touch 命令設置文件權限

  • November 5, 2017

似乎每當我創建一個touch權限設置為的文件時:-rw-r–r–

有什麼方法可以配置權限,touch還是必須在使用不同的命令後完成?

您可以修改您的umask以允許(對於大多數實現)更多的讀/寫權限,但不是可執行的,因為通常請求的權限是0666.

如果你的umaskis 022,你會看到touchmake a 0644file。

有趣的是,POSIX用以下方式描述了這種行為creat

  1. 如果文件不存在:

使用以下參數呼叫creat()函式:

* 文件操作數用作路徑參數。 * 、、、、和的按位的值用作模式參數。S_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則不會更改其權限,只需更新其時間戳)。

引用自:https://unix.stackexchange.com/questions/298519