在「macOS 伺服器」中建立檔案來輸入使用者或群組
您可以使用 Workgroup Manager 或 dsexport
來製作以字元分隔的檔案,以輸出 Open Directory 主伺服器之 LDAP 目錄中的帳號。您也可以使用工序指令或資料庫或試算表 App 來手動製作以字元分隔的檔案。
檔案中的第一個記錄(即記錄描述),會說明檔案中每個帳號記錄的格式。記錄描述有三個選項:
寫入完整記錄描述
使用速記法
StandardUserRecord
使用速記法
StandardGroupRecord
檔案中的其他記錄說明使用者或群組帳號,並以記錄描述所說明的格式來加以編碼。字元分隔檔中以 # 開頭的一行在輸入的過程中會被忽略。
寫入記錄描述
記錄描述會指定字元分隔檔中每個記錄中的欄位、指定分隔符號字元,以及指定記錄中特殊字元之前的跳脫字元。
以指定的順序使用下列元件來編碼記錄描述,以空格將其分隔:
記錄結尾指示符號(十六進位標記法)
跳脫字元(十六進位標記法)
欄位分隔符號(十六進位標記法)
值分隔符號(十六進位標記法)
檔案中的帳號類型(
dsRecTypeStandard:Users
或dsRecTypeStandard:Groups
)每個帳號記錄中的屬性數目
屬性列表
對於使用者帳號,屬性列表必須包含下列項目,不過如果您在輸入檔案時有指定起始 UID 和預設的主要群組 ID,則可以省略 UID 和 PrimaryGroupID:
RecordName(使用者的簡稱)
密碼
UniqueID(即 UID)
PrimaryGroupID
RealName(使用者的全名)
您還可以包含:
UserShell(預設 Shell)
NFSHomeDirectory(使用者個人專屬檔案夾的路徑)
「Open Directory 管理」中所描述的其他使用者資料類型
對於群組帳號,屬性列表必須包含:
RecordName(群組名稱)
PrimaryGroupID(群組 ID)
GroupMembership
下列是記錄描述的範例:
0x0A 0x5C 0x3A 0x2C dsRecTypeStandard:Users 7
RecordName Password UniqueID PrimaryGroupID
RealName NFSHomeDirectory UserShell
下列是使用先前的描述加以編碼的記錄範例:
anne:Adl47E$:408:20:A. Johnsons, M.D.:/Network/Servers/somemac/Homes/anne:/bin/csh
記錄由值組成,以冒號分隔。請使用雙冒號(::)來指出缺少值。
【注意】冒號(:)為欄位分隔符號。如果屬性的描述中有冒號,請使用反斜線(\)跳脫字元來指出冒號不應被視為分隔符號。如果欄位分隔符號是冒號以外的字元,就不需要跳脫字元。
在輸入使用者帳號前,請記住要手動設定密碼或將預設密碼設定為已知值。在輸入使用者帳號後,您可以設定密碼規則並要求使用者在首次登入時更改其密碼。
您無法使用 Workgroup Manager 或任何其他方式來輸出密碼。
使用 StandardUserRecord 速記法
當輸入檔案(以字元分隔)中的第一個記錄包含 StandardUserRecord
時,便會採用下列記錄描述:
0x0A 0x5C 0x3A 0x2C dsRecTypeStandard:Users 7
RecordName Password UniqueID PrimaryGroupID
RealName NFSHomeDirectory UserShell
使用者帳號範例看起來像這樣:
anne:Adl47E$:408:20:A. Lo, M.D.:/Network/Servers/somemac/Homes/anne:/bin/csh
使用 StandardGroupRecord 速記法
當輸入檔案(以字元分隔)中的第一個記錄包含 StandardGroupRecord
時,便會採用下列記錄描述:
0x0A 0x5C 0x3A 0x2C dsRecTypeStandard:Groups 4
RecordName Password PrimaryGroupID GroupMembership
下列是使用描述加以編碼的記錄範例:
students:Ad147:88:johnson,miller,clark,chen,wong