History

umask中的字母’u’是什麼意思?

  • April 30, 2020

是“使用者遮罩”還是什麼?

Wikipedia沒有詳細資訊,但表示該功能自 1978 年以來一直存在於 Unix 中。

POSIX 只是說它是“文件模式創建遮罩”。

Wolfram Rosler’s list 中的這個條目舉例說明了一個長期存在的解釋,即它的意思是“使用者”。該條目是在 2000 年送出的,並將其歸因於“umask”U_cmask在程序的“u區域”中設置了一個欄位。

這是一個有點可疑的解釋,原來的懷疑是通過以問題的形式提出的,因為“u區域”中還有其他幾個東西,所有的欄位都按慣例命名,不是由系統設置的以“u”開頭的電話。這可能是事後二十年的合理化。u_*something*

另一方面,“u”代表“使用者”,如今已被廣泛接受,並在 2000 年被廣泛接受,儘管“u區域”對此的解釋是可疑的。自 1980 年代後期以來,有關 UNIX 的書籍將其描述umask為“使用者文件創建遮罩”(儘管它們都沒有提及“u區域”)。

  • 在 AT&T Unix System 5 Release 3 的印刷手冊中是這樣描述的。
  • 在 1989 X/Open Portability Guide中是這樣描述的。
  • 在 Peter Norton 的 1991 Guide to Unix中是這樣描述的。
  • Simson Garfinkel 和 Gene Spafford 的 1991 年實用 UNIX 安全性明確直截了當地說

umask(“使用者文件創建模式遮罩”的 UNIX 簡寫)

問題是1985年以前的作品中,名稱擴展中的“使用者”一詞並沒有出現。我能找到的最早的是Rebecca Thomas 1985 A user guide to the UNIX system,後面是“ umask(使用者遮罩)”在安德森 1986 年的 UNIX C Shell 欄位指南中。

  • Stephen R. Bourne 的 1983 The UNIX System收集了第 7 版 UNIX 的手冊條目。第 294 頁上的umask()系統呼叫在任何地方都不包含“使用者”一詞,只是將其稱為“文件創建模式遮罩”。一個 forsh根本沒有提到這個主題。
  • 1983 年*Unix 分時系統:*來自貝爾實驗室的 Unix 程序員手冊重複了 Bourne 的措辭(這是意料之中的):

NAME umask — 設置文件創建模式遮罩概要
umask(complmode)

描述Umask 設置由(T) 或(2)
創建文件時使用的遮罩:creat``mknod

$$ … $$

  • 在 BSD 方面,1987 年UNIX 程序員參考手冊 (PRM):4.3 Berkeley Software Distribution, Virtual VAX-11 Version也沒有提到“使用者”這個詞:

NAME umask — 設置文件創建模式遮罩概要
oumask = umask(numask) int oumask, numask;

描述
Umask 將程序的文件模式創建遮罩設置為numask並返回遮罩的先前值。

$$ … $$

  • Marc J. Rochkind 1985 年的Advanced UNIX Programming中沒有“使用者” ,只有“文件模式創建遮罩”。
  • Waite Group 的 1987 年Unix System V Bible(“文件創建遮罩”)中也沒有。

在 4 年的大部分時間裡,“u”代表“使用者”已被廣泛接受。但很難追溯到這個名字的最初造詞,與“u區域”的聯繫是在事實發生兩年後才出現的,“使用者”這個詞似乎出現在第 7 版 UNIX 和 AT&T Unix 系統之間的某個時間點5 Release 3,這個詞可能是在編寫正式 doco 的人之後作為“u”的看似合理的擴展而引入的。

進一步閱讀

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