Creare un file per importare utenti e gruppi in macOS Server
Puoi creare un file con testo delimitato da caratteri utilizzando Workgroup Manager oppure utilizzando dsexport
per esportare gli account nella directory LDAP di un master di Open Directory. Puoi inoltre creare manualmente un file con testo delimitato da caratteri utilizzando uno script, un database o un'app per fogli elettronici.
Il primo record nel file, il record descrizione, descrive il formato di ogni record account nel file. Per il record descrizione sono disponibili tre opzioni:
Scrivere un record descrizione completo
Utilizzare l'abbreviazione
StandardUserRecord
Utilizzare l'abbreviazione
StandardGroupRecord
Gli altri record nel file descrivono gli account utente o gruppo codificati nel formato descritto dal record descrizione. In un file con testo delimitato da caratteri, una linea che inizia con # viene ignorata durante l'importazione.
Scrivere un record descrizione
Il record descrizione specifica i campi di ogni record del file di testo delimitato da caratteri, i caratteri di delimitazione usati e il carattere di escape che precede i caratteri speciali di un record.
Codifica il record descrizione utilizzando i seguenti elementi nell'ordine specificato, separandoli con uno spazio:
Indicatore di fine record (notazione esadecimale).
Carattere di escape (notazione esadecimale).
Separatore di campo (notazione esadecimale).
Separatore di valore (notazione esadecimale).
Tipi di account nel file (
dsRecTypeStandard:Users
odsRecTypeStandard:Groups
).Numero di attributi in ogni record account.
Elenco di attributi
Per gli account utente, l'elenco di attributi deve includere gli elementi seguenti; tuttavia, puoi omettere UID e PrimaryGroupID se specifici un UID all'avvio e un ID gruppo primario di default quando importi il file:
RecordName (il nome breve dell'utente).
Password
UniqueID (UID).
PrimaryGroupID.
RealName (il nome completo dell'utente).
Puoi anche includere:
UserShell (la shell di default).
NFSHomeDirectory (il percorso alla cartella Inizio dell'utente).
Altri tipi di dati utente, descritti nel manuale di amministrazione di Open Directory.
Per account di gruppo, l'elenco di attributi deve includere:
RecordName (il nome del gruppo).
PrimaryGroupID (l'ID del gruppo).
GroupMembership.
Di seguito un esempio di un record descrizione:
0x0A 0x5C 0x3A 0x2C dsRecTypeStandard:Users 7
RecordName Password UniqueID PrimaryGroupID
RealName NFSHomeDirectory UserShell
Di seguito un esempio di un record codificato utilizzando la descrizione precedente:
anne:Adl47E$:408:20:A. Johnsons, M.D.:/Network/Servers/somemac/Homes/anne:/bin/csh
Il record comprende dei valori delimitati dal carattere due punti (:). Utilizza i due punti doppi (::) per indicare un valore mancante.
Nota: Il carattere due punti (:) è il separatore di campo. Se la descrizione di un attributo include il carattere due punti, utilizza il carattere di escape barra rovesciata (\) per indicare che i due punti non dovrebbero essere considerati come un delimitatore. Se il separatore di campo è diverso da un carattere due punti, il carattere escape non è necessario.
Prima di importare gli account utente, ricordati di impostare manualmente le password o impostare le password di default come valore noto. Dopo aver importato i record, puoi impostare una politica password che richieda agli utenti di modificare la propria password al primo login.
Le password non possono essere esportate utilizzando Workgroup Manager o altri metodi.
Utilizzare l'abbreviazione StandardUserRecord
Quando il primo record di un file di testo importato delimitato da caratteri contiene StandardUserRecord
, si presume il seguente record descrizione:
0x0A 0x5C 0x3A 0x2C dsRecTypeStandard:Users 7
RecordName Password UniqueID PrimaryGroupID
RealName NFSHomeDirectory UserShell
Un esempio di account utente è simile a questo:
anne:Adl47E$:408:20:A. Lo, M.D.:/Network/Servers/somemac/Homes/anne:/bin/csh
Utilizzare l'abbreviazione StandardGroupRecord
Quando il primo record di un file di testo importato delimitato da caratteri contiene StandardGroupRecord
, si presume il seguente record descrizione:
0x0A 0x5C 0x3A 0x2C dsRecTypeStandard:Groups 4
RecordName Password PrimaryGroupID GroupMembership
Di seguito un esempio di un record codificato utilizzando la descrizione:
students:Ad147:88:johnson,miller,clark,chen,wong