History
passwd GECOS 欄位中的與號
展開
/etc/passwd
GECOS 欄位獲取使用者全名時,我們應該只展開第一個 & 號(&
字元),還是展開所有 & 號?在以逗號 (
,
) 分隔的子欄位的 GECOS 欄位中,應該僅在第一個子欄位(即使用者的全名)中還是在所有子欄位中擴展和號?如果 Unix 使用者名包含大寫字母,我們應該在
&
擴展中保留它們,還是應該只將使用者名的第一個字母大寫,其餘的小寫?
- 和號只能在第一個逗號分隔的子欄位(即所謂的“全名”或“實名”子欄位)中擴展。如果 GECOS 欄位中沒有逗號,則將整個欄位視為真實姓名。
- 任何和所有的 & 符號都會被擴展,而不僅僅是第一個。
- 如果使用者名的第一個字元是 ASCII 小寫字母,則該字母在 & 號擴展中為大寫。否則,它會保持原樣。除第一個字元外,不會對字元進行大小寫轉換。
該資訊的事實上的權威來源是
sendmail
伺服器和finger
客戶端實現。BSD 和 Solaris 的實現是開源的,它們似乎都同意上述規則。GECOS 欄位不再是該欄位的最新名稱。它更準確地稱為手指域,因為在幾乎所有系統上,逗號分隔子域的預期佈局都來自手指。