Interoperabilità

L'autenticazione client Linux con Active Directory

Gil Kirkpatrick

 

In un riepilogo delle:

  • Funzionamento di autenticazione di Windows e Linux
  • Utilizzo di samba e Winbind
  • Strategie di implementazione
  • Esame tramite L'integrationItem Linux per Active Directory

Contenuto

L'autenticazione di Windows
L'autenticazione di Linux
SAMBA e Winbind
Tre strategie di autenticazione
Il piano di implementazione
Ricerca di software a destra
Creazione samba
Configurazione di rete Linux
Configurazione Linux ora sincronizzazione
Configurazione PAM e NSS
Installazione e configurazione samba
Il problema di ID di mapping
Collegando il dominio e la registrazione in
Cosa succede se si non attività?
Ora che funziona, quali si hanno?
Soluzioni di terze parti

Republicans e Democrats. Succo toothpaste e arancione. Windows e Linux. Alcune operazioni appena don’t combinare, a destra? Ogni reparto IT mai stato coinvolto con è stato suddiviso in due camps: il team di Windows e il team di Linux. Sono effettivamente don’t concorrenza con loro, ma che non collaborare sia. Infatti, alcune risorse anche eseguire finora come inserire una linea gialla in base solo per garantire assolutamente che c'è nessun fraternization inappropriato tra i due gruppi.

Sono un ragazzo di Windows ed certamente stato poked divertente ai colleghi di orientamento Linux, ma tutti abbiamo l'stesso obiettivo di fornire servizi IT qualità elevata ed economiche per l'organizzazione. Un modo è possibile farlo consiste condividendo infrastruttura software principale come Active Directory. Quasi tutte le organizzazioni IT sono liquidati in Active Directory per fornire servizi di autenticazione e per i desktop di Windows Server. Invece di gestione di un'infrastruttura di autenticazione distinti per l'ambiente di Linux (insieme con un insieme separato di nomi utente e password), sarebbe meglio se il computer Linux utilizzato Active Directory nonché? RITENGO che è necessario e viene illustrato come eseguire in questo articolo.

L'autenticazione di Windows

Windows è stata spedita con un autenticazione di rete integrato e un sistema ad accesso singolo molto tempo a questo punto. Prima di Windows 2000, controller di dominio Windows NT (controller di dominio) forniti servizi di autenticazione per i client di Windows che utilizzano il protocollo NTLM (NT LAN Manager). Anche se NTLM non è protetto come è stato originariamente considerato, è molto utile poiché perfettamente risolto il problema della necessità di mantenere il più server sulla rete degli account utente duplicati.

A partire da Windows 2000, Microsoft spostato dalla NTLM Active Directory e i servizi di autenticazione Kerberos integrati. Kerberos è notevolmente più sicura di quella NTLM e ridimensionato meglio, troppo. E Kerberos è uno standard del settore già utilizzato da sistemi Linux e UNIX, che aprire lo sportello per l'integrazione di piattaforme con Windows.

L'autenticazione di Linux

Inizialmente, Linux (e gli strumenti GNU e le raccolte eseguire su esso) non è stato generato con un meccanismo di autenticazione singolo presente. Di conseguenza, gli sviluppatori di applicazioni Linux ha richiesto in genere per creare il proprio schema di autenticazione. Gestito a questo scopo è necessario cercare i nomi e gli hash di password di e così via e delle password (il testo tradizionale file contenitore Linux utente credenziali) oppure fornire un meccanismo completamente diverso (e separato).

Il plethora risultante dei meccanismi di autenticazione era unmanageable. Nel 1995, Sun proposto un meccanismo denominato collegabili autenticazione moduli PAM. PAM fornito un insieme comune di autenticazione API che possibile utilizzare tutti gli sviluppatori di applicazioni, con una precedente configurato dall'amministratore terminare consentito per più schemi di autenticazione collegabili". Utilizzando le API PAM per l'autenticazione e nome server switch (NSS) API per la ricerca di informazioni utente, gli sviluppatori di applicazioni Linux Impossibile scrivere meno codice e gli amministratori di Linux potrebbero avere un'unica posizione in cui configurare e gestire il processo di autenticazione.

La maggior parte delle distribuzioni di Linux disponibili numerosi moduli di autenticazione PAM, inclusi i moduli che supportano l'autenticazione per una directory LDAP e l'autenticazione utilizzando Kerberos. È possibile utilizzare i moduli di autenticazione in Active Directory, ma esistono alcune limitazioni significativi, come viene discusso più avanti in questo articolo.

SAMBA e Winbind

SAMBAè un progetto di apertura e di origine che mira a fornire l'integrazione tra gli ambienti Windows e Linux. SAMBA contiene componenti che consentire Linux computer accedere a file di Windows e servizi di stampa, nonché forniscono servizi di base Linux che emulano controller di dominio di Windows NT 4.0. Utilizzando i componenti client samba, Linux computer può sfruttare servizi di autenticazione di Windows forniti da Windows NT e il controller di dominio di Active Directory.

La parte specifica dei samba è più interessante per noi per il progetto viene chiamata Winbind. Winbind è un daemon (servizio di Windows denominato) che viene eseguita sui client samba e funge da proxy per la comunicazione tra PAM e NSS in esecuzione sul computer Linux e del Active Directory in esecuzione su un controller di dominio. In particolare, Winbind utilizza Kerberos per autenticare con Active Directory e LDAP per recuperare informazioni relative a utenti e gruppi. Winbind fornisce anche servizi aggiuntivi, ad esempio la possibilità di individuare i controller di dominio utilizzando un algoritmo simile a DCLOCATOR in Active Directory e la possibilità di reimpostare password Active Directory per la comunicazione con un controller di dominio tramite RPC.

Winbind risolve alcuni problemi che semplicemente utilizzando Kerberos con PAM non. In particolare, anziché a livello di codifica un controller di dominio per autenticare il modo che il modulo PAM Kerberos, Winbind seleziona un controller di dominio per la ricerca di record del localizzatore DNS in modo analogo all'che il modulo Microsoft DC LOCATOR utilizzo.

Tre strategie di autenticazione

Data la disponibilità di LDAP, Kerberos e Winbind su computer Linux, sono disponibili tre strategie di implementazione diversi che è possibile utilizzare per consentire il computer Linux per utilizzare Active Directory per l'autenticazione.

Utilizzo dell'autenticazione LDAP Il modo più semplice ma meno soddisfacente per utilizzare Active Directory per l'autenticazione consiste nel configurare PAM da utilizzare l'autenticazione LDAP, come illustrato nella Figura 1 . Anche se Active Directory è un servizio con LDAPv3, i client di Windows utilizzano Kerberos (con fallback per NTLM, non LDAP, per scopi di autenticazione.

Autenticazione LDAP (denominato binding LDAP) passa il nome utente e la password in testo non crittografato attraverso la rete. Si tratta di non protetta e inaccettabile per scopi la maggior parte dei.

fig01.gif

Nella figura 1 authenticating in Active Directory mediante LDAP fare clic su Immagine per una visualizzazione ingrandita

L'unico modo per ridurre il rischio di passare le credenziali in chiaro consiste per crittografare il canale comunicazione client Active Directory utilizzando ad esempio SSL. Mentre questo è certamente doable, impone il carico aggiuntivo di gestire i certificati SSL sia il controller di dominio del computer Linux. Utilizzando LDAP il PAM modulo non supporta la modifica inoltre, Reimposta o scadenza password.

utilizzando LDAP e Kerberos Un'altra strategia per l'utilizzo di Active Directory per l'autenticazione di Linux consiste nel configurare PAM utilizza l'autenticazione Kerberos e NSS utilizza LDAP per la ricerca di utenti e informazioni di gruppo, come illustrato nella Figura 2 . Questo schema ha il vantaggio di essere relativamente più sicuro e sfrutta le funzionalità di Linux "nella-di-". Ma non possibile sfruttare i record di posizione servizio DNS (SRV) pubblica il controller di dominio di Active Directory, in modo sono obbligati per selezionare un set specifico di controller di dominio di autenticazione in. Inoltre non consentono molto intuitive di gestione delle password Active Directory in scadenza o, fino a quando non recente, per le ricerche appartenenza di gruppo appropriato.

fig02.gif

Nella figura 2 authenticating ad Active Directory utilizzando LDAP e Kerberos fare clic su Immagine per una visualizzazione ingrandita

Utilizzo Winbind Il terzo modo per utilizzare Active Directory per l'autenticazione di Linux consiste nel configurare PAM e NSS di chiamate per il daemon di Winbind. Winbind convertirà PAM diverse e NSS richiesto in chiamate di Active Directory corrispondente, utilizzando LDAP, Kerberos o RPC, in base è più appropriato. Nella figura 3 è illustrata questa strategia.

fig03.gif

Nella figura 3 authenticating ad Active Directory utilizzando Winbind fare clic su Immagine per una visualizzazione ingrandita

Il piano di implementazione

A causa dell'integrazione avanzata con Active Directory, scelto di utilizzare Winbind su Red HAT Enterprise Linux 5 (RHEL5) per il progetto di integrazione per Linux Active Directory. RHEL5 indica la versione corrente della distribuzione Red HAT Linux esterna ed è piuttosto comuni in centri dati aziendali.

Recupero RHEL5 di autenticazione in Active Directory fondamentalmente richiede il cinque passaggi separati, come illustrato di seguito:

  1. Individuare e scaricare samba appropriato e altri componenti dipendenti.
  2. Creare samba.
  3. Installare e configurare samba.
  4. Configurare Linux, in particolare PAM e NSS.
  5. Configurare Active Directory.

Le sezioni di alcune successiva in questo articolo descrivono questi passaggi in modo più dettagliato.

Ricerca di software a destra

Una delle maggiori differenze tra Linux e Windows è che Linux composto un kernel di sistema operativo di piccole dimensioni e un insieme grande di componenti scaricabili e installabili separatamente da. Ciò rende possibile per creare Linux molto specifiche configurazioni ottimizzato per determinate attività, ma anche possibile apportare configurazione e gestione di un server estremamente complicato. Diverse distribuzioni gestire questo in modi diversi. Red Hat e relativo cugino non commerciale Fedora utilizzare Red HAT pacchetto gestione (RPM) per installare e gestire questi componenti.

I componenti di Linux per Red HAT entrano in due formati. File RPM contengono file binari che sono stati precompilati e creati per una combinazione specifica di versione del componente, distribuzione Linux e architettura di CPU. Impossibile scaricare e installare, ad esempio, la versione 1.3.8-5 del comune UNIX stampa System (TAZZE) creata per Fedora versione 10 in esecuzione su un'architettura Intel x 86 della CPU. Dato che vi siano una dozzina diverse architetture di CPU, distribuzioni di oltre 100 Linux e migliaia di pacchetti e versioni, è possibile verificare che vi sono un numero incredibile di RPMs binari da cui scegliere.

File di origine RPM, invece, contenere il codice sorgente effettivo per un pacchetto specificato. Nella previsione è che si verrà scaricare e installare le origini, configurare le opzioni di generazione e compilazione e collegare i file binari manualmente. L'idea di creazione di propri componenti del sistema operativo è lunga e complessa per un ragazzo di Windows utilizzato per l'installazione di qualsiasi Microsoft rende disponibili nel CD di installazione di Windows, ma il gestore di pacchetto rende il processo piuttosto semplice e affidabile che. In luglio e agosto 2008 solo, sono quattro versioni di samba 3.2, con un totale di correzioni di bug e protezione superiori a 100, il gruppo samba rilascia gli aggiornamenti e patch di protezione a una velocità furious. Per questo progetto, è possibile scaricare le origini per l'ultima versione stabile del samba, versione 3.0.31.

Perché è stato scaricare le origini samba invece di un insieme precompilato di file binari? Era certamente tentato prima. Ciò che HO scoperto dopo il numero di ore con un debugger è che i file binari scaricato non sono stati creati con le opzioni corrette per il supporto di Active Directory l'autenticazione. In particolare, il codice che supporta il mapping Linux ID in Active Directory è disattivato nelle build di impostazione predefinita, pertanto HO avuto ricostruire samba con le opzioni generazione appropriata. Verrà approfondito mapping di ID più avanti in questo articolo.

Anche se Linux in modo nativo è un piccolo kernel, la distribuzione di Red HAT Enterprise è dotato di numerosi pacchetti preinstallati. In genere ciò semplifica vita molto perché iniziare da con un sistema operativo di lavoro completo, ma i pacchetti che sono talvolta preinstallati in conflitto con software che si desidera installare successivamente.

È possibile non include samba quando installa Red HAT in genere samba viene installato per impostazione predefinita poiché desidera utilizzare una versione più recente. Tuttavia, la versione più recente di samba richiede nuove versioni di diverse altre raccolte e utilità che sono stati già installati. Questi tipi di problemi di dipendenza sono piuttosto fastidioso, ma sono facilmente risolto utilizzando il RPM.

Esistono molti siti Web che i pacchetti host RPM binario. Quello che È utilizzato (per nessun altro motivo che era il primo elemento che è possibile trovare) viene chiamato, situato rpm.pbone PBONE. netto. Dispone di un modo pratico di ricerca dei pacchetti e stato di tutti i file binari necessario per la mia architettura di CPU (i386) e la distribuzione sistema operativo (Red HAT Enterprise Linux 5/Fedora 7 e 8).

È necessario scaricare e aggiornare i pacchetti elencati nella Figura 4 per generare e installare l'ultima versione 3.0 di samba (vi è una struttura versione 3.2 anche successiva che è ha cercato). Si noti che questi pacchetti destinazione la distribuzione di base Fedora (fc). Red HAT dipende l'origine stessa Fedora utilizza ed è completamente interoperabilità con esso. Pacchetti creati per Fedora base 7 e versioni successive verranno eseguito su RHEL5 con nessuna modifica. Inserire i file RPM scaricati nella directory USR/src/REDHAT/RPMS.

Nella figura 4 package necessari per la creazione e l'installazione samba 3.0.31

SAMBA 3.031 0.fc8.src.rpm Origine SAMBA 3.0.31 RPM
3.fc7.i386 gnutls1.6.3 Le raccolte di TLS (Transport Layer Security) GNU
gnutils devel-1.6.3 3.fc7.i386 File di sviluppo TLS GNU
popt 1.12 3.fc8.i386 Argomento della riga di comando durante l'analisi raccolte
popt devel-1.12 3.fc8.i386 Argomento della riga di comando durante l'analisi dei file di sviluppo
tazze librerie-1.2.12 11.fc7.i386 Librerie di sistema stampante UNIX comuni
tazze devel-1.2.12 11.fc7.i386 I file di sviluppo di sistema di stampante di UNIX comuni
1.2.12.11.fc7.i386 tazze File binari di UNIX stampante sistema comuni

Creazione samba

Il primo passaggio nella creazione samba consiste di scaricare l'origine corretto RPM. Scaricato origine RPM per samba 3.0.31 dal sito PBONE. Successivamente, inserire il file RPM sorgente scaricato nella USR/src/REDHAT/SRPMS, la directory standard per origine RPMs durante il processo di generazione.

Aprire una sessione di terminale (finestra della riga di comando di Windows denominato) e passare alla cartella SRPMS. Una volta che viene eseguita, installare il pacchetto di origine utilizzando il comando, come illustrato nella Figura 5 .

fig05.gif

Nella figura 5 l'installazione dell'origine samba RPM fare clic su Immagine per una visualizzazione ingrandita

Se viene visualizzato l'avviso di errore " mockbuild utente non esiste, utilizzando la directory principale, " non è il caso di preoccuparsi. Questo errore indica che l'utilità di generazione di simulazione non installato. Il processo di generazione funzionerà senza tali.

Successivamente, spostarsi nella directory USR/src/REDHAT/SPECS e modificare il file SAMBA.SPEC che contiene le opzioni di generazione samba. Cercare la riga che inizia con " CFLAGS = " e assicurarsi che l'opzione "-con-condiviso a moduli = idmap_ad, idmap_rid " è presente. Questa opzione garantisce che il processo di generazione includerà il codice che converte Linux UID (unique identifier) correttamente in Active Directory. Figura 6 Mostra questa opzione.

fig06.gif

Nella figura 6 il con-condiviso, i moduli creare opzione fare clic su Immagine per una visualizzazione ingrandita

Successivamente, potrebbe essere necessario aggiornare alcuni delle librerie sul computer per generare correttamente e di installare samba; dipende la forma di quali versioni delle librerie si fa erroneamente installato. Nel mio caso, HO dovuto installare i pacchetti elencati nella Figura 4 utilizzando il rpm-comando di installazione, in alcuni casi era necessario utilizzare--opzione force per ottenere oltre alcuni dei problemi delle dipendenze.

Per creare samba, spostarsi nella directory usr, src o redhat ed eseguire –bb di rpmbuild comando SPECS/samba.spec, come illustrato nella Figura 7 . Il processo verrà lasciare un nuovo file RPM di samba 3.0.31 0.i386 nella directory USR/src/REDHAT/RPMS. È verrà installato questo file RPM più avanti nel progetto.

fig07.gif

Nella figura 7 Creazione file RPM binario samba fare clic su Immagine per una visualizzazione ingrandita

Configurazione di rete Linux

Per l'autenticazione con Active Directory, il computer Linux necessario comunicare con un controller di dominio. È necessario configurare tre impostazioni di rete per questa operazione.

In primo luogo, è importante assicurarsi che l'interfaccia di rete per il computer Linux sia configurato correttamente, sia utilizzando DHCP (Dynamic Host Configuration Protocol) o Assegnazione è di un indirizzo IP appropriato e la maschera utilizzando il comando ifconfig. In RHEL5, configurare la rete selezionando rete dal sistema | menu Amministrazione, come illustrato nella Figura 8 .

fig08.gif

Nella figura 8 di configurazione di rete fare clic su Immagine per una visualizzazione ingrandita

Successivamente, verificare che il resolver DNS per il computer Linux sia impostato per utilizzare lo stesso server di nome DNS che utilizzano il controller di dominio, nella maggior parte dei casi, un DC nel dominio a cui si desidera partecipare computer Linux, presupponendo che stai utilizzando DNS Active_Directory-integrated. Il sistema di risoluzione DNS si configurate nella scheda DNS dell'utilità di configurazione di rete stesso utilizzato per configurare la rete, come illustrato nella Figura 9 .

fig09.gif

Nella Figura 9 impostazione il resolver DNS principale fare clic su Immagine per una visualizzazione ingrandita

Infine, dopo aver completato questi passaggi, è necessario impostare il nome host del computer Linux per riflettere il nome nel dominio. Sebbene sia possibile impostare il nome di host utilizzando l'applicazione di configurazione di rete, questo sembra non sempre funziona correttamente.

Modificare invece la /etc/host direttamente file e aggiungere una voce sotto l'intervento di localhost.localdomain ha il formato < indirizzo ip > <fqdn> < nome host >. (Un esempio potrebbe essere " 10.7.5.2 linuxauth rhel5.linuxauth.local ".) Noti che caso per eseguire questa operazione saranno nella creazione di un oggetto non corretto del computer nella directory dopo che aggiungere il computer Linux al dominio.

Configurazione Linux ora sincronizzazione

Il protocollo Kerberos è dipendente da sistemi di autenticazione con orologi vengono sincronizzati all'interno di un valore relativamente piccola. Per impostazione predefinita, Active Directory consente un massimo ora inclinare di cinque minuti. Per assicurarsi che i sistemi di Linux e sistema del controller di dominio gli orologi rispettare questo valore, è necessario configurare i sistemi di Linux per utilizzare il servizio Network Time Protocol (NTP) di un controller di dominio.

Successivamente, sul server di Linux, eseguire l'utilità di data e ora dal sistema | menu e quindi scegliere la scheda Network Time Protocol. Selezionare la casella attiva Network Time Protocol e quindi aggiungere l'indirizzo IP del controller di dominio che si desidera utilizzare come origine ora rete. Si noti che questo in genere deve essere il controller di dominio nel dominio che svolge il ruolo di FSMO (Flexible Single Master Operations) primario di dominio emulatore controller (PDC). Nella figura 10 è un esempio di come impostare l'origine di ora rete Linux.

fig10.gif

Nella figura 10 di configurazione Network Time Protocol fare clic su Immagine per una visualizzazione ingrandita

Configurazione PAM e NSS

PAM e NSS forniscono l'associazione tra un'applicazione di Linux, ad esempio il desktop e Winbind. Come molti servizi di Linux, configurare PAM e NSS mediante file di testo. Si analizzeranno configurazione PAM prima.

PAM fornisce funzionalità di relative autenticazione quattro per le applicazioni che ne uso. La funzionalità di autenticazione consente un'applicazione di determinare che sta utilizzando. La funzionalità di account verrà fornito account funzioni di gestione non sono specificamente correlate per l'autenticazione, ad esempio restrizione ora di accesso. La funzionalità di password sono disponibili meccanismi per soliciting e la gestione delle password. La funzionalità sessione esegue impostazioni ­related utente e le attività delle procedure di chiusura per l'applicazione, come registrazione o la creazione di file in una directory specifiche dell'utente.

PAM in Red HAT memorizza i file di configurazione nella directory del /etc/pam.d, contenenti un file di testo per ogni applicazione che utilizza PAM per l'autenticazione. Ad esempio /etc/pam.d/gdm il file contiene le informazioni configurazione PAM per il Gnome desktop Manager (GDM), l'ambiente di windowing predefinito per Red HAT. Ciascun file di configurazione PAM contiene più righe, con ogni riga definisce alcuni aspetti del PAM processo di autenticazione. Nella figura 11 viene illustrato il contenuto di PAM il file di configurazione per GDM.

fig11.gif

Nella figura 11 file di configurazione per la gestione di desktop di Gnome PAM fare clic su Immagine per una visualizzazione ingrandita

Ogni movimento in un file di configurazione PAM ha la forma < gruppo gestione > <control> <module><parameters> <parametri>, dove < gruppo gestione > corrisponde alla funzione la voce di configurazione fa riferimento a: autenticazione, account, password o la sessione. Le parole chiave controllo, che sono descritte nella Figura 12 , indicare PAM come elaborare la voce di configurazione. La terza colonna del file contiene il nome di una libreria condivisa PAM nella directory lib e protezione. Librerie condivise contengono in modo dinamico che può essere caricato codice eseguibile, simile a DLL di Windows. Ulteriori termini dopo il nome del modulo sono parametri che PAM passa libreria condivisa.

Nella figura 12 le parole chiave controllo PAM

Parola chiave Descrizione
Richiesto Se il modulo ha esito positivo, PAM continua valutazione alle voci rimanenti per il gruppo di gestione e i risultati verranno determinati dai risultati di altri moduli. Se il modulo ha esito negativo, PAM continua valutazione, ma verrà restituita errore all'applicazione che ha eseguito chiamata.
Individuati Se la il modulo ha esito positivo, PAM continuerà valutazione le voci del gruppo di gestione. Se il modulo ha esito negativo, PAM restituisce all'applicazione chiamante con nessun ulteriore elaborazione.
Sufficienti Se il modulo ha esito positivo, PAM restituirà successo all'applicazione che ha eseguito chiamata. Se il modulo ha esito negativo, PAM continua valutazione, ma i risultati verranno determinati dai moduli successive.
Facoltativo PAM ignora i risultati del modulo, a meno che non sia il modulo solo specificato per il gruppo di gestione.
Includere PAM include il contenuto del file configurazione PAM a cui viene fatto riferimento ed elabora le voci in che esso contenuti.

Consente di verificare che ogni gruppo di gestione disponga di diverse voci. PAM elabora movimenti nell'ordine, chiamando il modulo denominato. Il modulo restituisce quindi ha avuto esito positivo o negativo e PAM procede in base alla parola chiave del controllo.

Si noterà che il file di configurazione PAM di GDM include l'autenticazione di sistema in tutti i relativi gruppi di gestione. Si tratta PAM stabilisce come impostazione di autenticazione predefinita GDM. Modificando l'autenticazione di sistema, è possibile modificare il comportamento di autenticazione per tutte le applicazioni che includono il file di autenticazione del sistema in sulle relative configurazioni PAM. Il file di sistema di autenticazione predefinito è illustrato nella Figura 13 .

fig13.gif

Nella Figura 13 file di sistema-autenticazione PAM fare clic su Immagine per una visualizzazione ingrandita

Il modulo NSS (nome servizio Switch) nasconde le specifiche di archiviazione di dati di sistema dallo sviluppatore dell'applicazione, in modo quasi allo stesso modo che PAM nasconde i dettagli dell'autenticazione. NSS consente all'amministratore di specificare il che database di sistema i modo in cui vengono archiviati. In particolare, l'amministratore può specificare modalità di memorizzazione informazioni utente nome e password. Poiché desideriamo alle applicazioni di individuare le informazioni utente in Active Directory utilizzando Winbind, è necessario modificare il file di configurazione NSS per mostrare che.

Red HAT include un'applet grafica poco configurazione PAM e NSS denominata autenticazione di configurazione del sistema. Si occupa di più (ma non tutte) delle modifiche è necessario apportare del sistema di autenticazione e nss.conf dei file.

Eseguire l'applicazione l'autenticazione di configurazione del sistema e verrà visualizzata una finestra di dialogo come quello illustrato nella Figura 14 . Selezionare l'opzione Winbind sia scheda Inf. utente (che consente di configurare il file nss.conf) che la scheda autenticazione (che modifica il file di autenticazione del sistema).

fig14_L.gif

Nella figura 14 la finestra di dialogo autenticazione systemconfig

Fare clic sul pulsante Configura Winbind e verrà visualizzata la finestra di dialogo nella Figura 15 . Immettere il nome del dominio si desidera che l'autenticazione nel campo dominio Winbind gli utenti e selezionare "ad" come il modello di protezione. Immettere il nome di dominio DNS del dominio di Active Directory nel campo Winbind ADS area di autenticazione. Nel campo Winbind controller di dominio, immettere il nome di un controller di dominio si desidera effettuare l'autenticazione con questo sistema Linux o un asterisco, che indica che Winbind deve selezionare un controller di dominio mediante query ai record DNS SRV.

fig15.gif

Nella figura 15 finestra di dialogo Configura Winbind

Selezionare gli utenti di Active Directory la shell di comando predefinito appropriato devono dispongono; in questo caso, selezionato Bonaldi-nuovo pilastri o BASH. Non provare a questo punto il pulsante "join Domain". Il computer verrà aggiungere al dominio in un secondo momento.

È una modifica aggiuntiva affinché per il file /etc/pam.d/system-auth dopo aver modificato per supportare Winbind. Quando un utente di Linux effettua l'accesso, il sistema disporre l'utente una home directory. La home directory contiene numerosi preferenze dell'utente, specifico ed elementi di configurazione, molto simili alle Registro di sistema di Windows. Il problema è che perché si desidera creare gli utenti in Active Directory, Linux non automaticamente creerà home directory dell'utente. Fortunatamente, è possibile configurare PAM per farlo come parte della configurazione della sessione.

Aprire il file di /etc/pam.d/system-auth, quindi scorrere verso la parte inferiore e aggiungere una riga prima dell'ultima riga nella sezione sessione che legge " sessione map_mkhomedir.so facoltativo skel = / e così via/skel umask = 0644" (vedere la Figura 16 ). Questa riga Configura PAM per creare una directory principale per un utente se non esiste. Viene utilizzata la directory/e così via skel come "struttura" o modello e assegnerà la maschera di autorizzazioni 0644 (lettura e scrittura per il proprietario, lettura per il gruppo primario e lettura per tutti gli altri) alla nuova cartella.

fig16.gif

Figura 16 creazione di una home directory per gli utenti fare clic su Immagine per una visualizzazione ingrandita

Installazione e configurazione samba

Per installare i file binari samba che appena creato, passare alla directory USR/src/REDHAT/RPMS. Tutti i i file RPM creati tramite il comando rpmbuild verranno verranno visualizzati in questa directory. Tenere presente che samba include file binari consentono a un client di Linux accesso una condivisione di file Windows (o samba), così come codice che consenta un sistema di Linux per fungere da un file server Windows, un server di stampa Windows e un controller di dominio 4.0 stile Windows NT.

Non è necessario tutto ciò consente Linux di autenticazione in Active Directory; realmente necessario sono i file comuni di samba e i file binari client samba. Questi file sono opportunamente dividere uscita in RPM due file: samba client-3.0.31 0.i386.rpm e samba comune-3.0.31 0.i386.rpm. Installare i file RPM utilizzando il rpm-comando di installazione. Di seguito è riportato un esempio: rpm--installare samba comune-3.0.31 0.i386.rpm. (Si noti che è necessario installare prima il file RPM –common).

Una volta è stato installato i file binari client samba, è necessario modificare la configurazione di samba predefinita per assicurarsi che Winbind gestisce l'autenticazione correttamente con Active Directory. Tutte le informazioni di configurazione samba (sia client e server) sono reperibili nel file di testo smb.conf, che per impostazione predefinita si trova nella directory SAMBA/e così via. Smb.Conf può contenere un numero enorme di opzioni di configurazione, e una descrizione completa del contenuto esula dall'ambito di questo articolo. Il sito Web samba.org e le pagine di Linux uomo che verranno trattate smb.conf in dettaglio alcune.

Il primo passaggio consiste nel configurare Winbind utilizzare Active Directory per l'autenticazione. È necessario impostare il modello di protezione in smb.conf per "ad". L'utilità di autenticazione di configurazione del sistema deve avere impostato questo per consentire già, ma è sempre consigliabile verificare. Modificare il file smb.conf e cercare la sezione denominata opzioni membro del dominio. Individuare la riga che inizia con "protezione" e assicurarsi che si legge " protezione = annunci ". Il passaggio di configurazione successivo determina come Winbind verrà mappare entità di protezione Windows, ad esempio utenti e gruppi agli identificatori di Linux e che richiede un po'più spiegazione.

Il problema di ID di mapping

C'è un problema di grandi dimensioni che non menzionato ancora con l'autenticazione degli utenti Linux con Active Directory e che il problema della UID per utenti e gruppi. Internamente, né Linux Windows utilizzarne utenti utente nome, ma utilizzare un identificatore interno univoco. Windows utilizza l'identificatore di protezione o SID, che è una struttura a lunghezza variabile che identifica ciascun utente all'interno di un dominio di Windows. Il SID contiene anche un identificatore di dominio univoco in modo da Windows può distinguere tra gli utenti in domini diversi.

Linux ha uno schema molto più semplice. Ogni utente su un computer Linux dispone di un UID è semplicemente un valore integer a 32 bit. Ma l'ambito DELL'UID è limitato al computer stesso. Non è garantito che l'utente con l'UID 436 su un computer di Linux è identico all'utente 436 UID su un altro computer Linux. Di conseguenza, un utente avrà accesso a ogni computer che deve accedere, chiaramente non una situazione auspicabile.

Gli amministratori di rete Linux in genere risolvere questo problema, fornendo l'autenticazione di rete utilizzando Network Information System (NIS) o una directory LDAP condivisa. Il sistema di autenticazione di rete fornisce l'UID per l'utente e tutti i computer Linux che utilizzano tale sistema di autenticazione verranno condividere lo stesso utente e gli identificatori di gruppo. In questo caso, utilizza Active Directory per fornire utente univoco e gli identificatori di gruppo.

Esistono due strategie che È possibile utilizzare per risolvere questo problema. La strategia di prima (e anche più ovvia consiste nel creare un UID per ciascun utente e gruppo e archiviare tale identificatore con l'oggetto corrispondente in Active Directory. In questo modo, quando Winbind autentica un utente, è possibile cercare l'UID per l'utente e fornire Linux come identificatore interno dell'utente. Winbind fa riferimento a questo schema di Active Directory ID mapping o idmap_ad. Nella figura 17 mostra il processo di mapping di ID di Active Directory.

fig17.gif

Nella figura 17 mapping di ID di Active Directory fare clic su Immagine per una visualizzazione ingrandita

Lo svantaggio solo a mapping di ID di Active Directory è che è necessario fornire un meccanismo per assicurarsi che ogni utente e gruppo abbia un identificatore e che questi identificatori siano tutti univoci nell'insieme di strutture. Per ulteriori informazioni, vedere la barra laterale "configurazione di Active Directory di Active Directory ID mapping,".

Fortunatamente, vi è un'altra strategia mapping ID è molto meno overhead amministrativo. È importante ricordare che il SID di Windows identifica in modo univoco l'utente all'interno di un dominio, nonché il dominio stesso. La parte del SID che identifica l'utente all'interno del dominio viene chiamata il relativo identificatore o RID e in realtà è un valore integer a 32 bit. Pertanto, Winbind possibile estrarre semplicemente il RID dal SID quando l'utente effettua l'accesso e utilizzare RID come l'UID interno univoco. Winbind fa riferimento a questa strategia come mapping RID o idmap_rid. è nella Figura 18 illustrato mapping RID effettivamente funzionamento.

fig18.gif

Nella figura 18 RID mapping fare clic su Immagine per una visualizzazione ingrandita

Il vantaggio di zero sovraccarico amministrativo non il mapping di RID ma non è utilizzata in un ambiente multidominio causa della probabilità di utenti in domini diversi con lo stesso valore RID. Ma se si dispone di un singolo dominio di Active Directory, mapping RID è il modo di procedere.

Per configurare la strategia di mapping Winbind ID, modificare di nuovo il file di /etc/samba/smb.conf e aggiungere la riga " back-end idmap = annuncio " per utilizzare la strategia di mapping di Active Directory, o " back-end idmap = rid " se si desidera utilizzare la strategia mapping RID. Assicurarsi che non siano specifica la strategia di mapping in file di altre righe.

Esistono un paio di altre opzioni di configurazione che è necessario aggiungere al file smb.conf per Winbind. Anche se è impostato PAM per rendere la home directory per ciascun utente al momento dell'accesso di, è necessario stabilire Winbind che cos'è il nome di tale directory principale. Questo è scopo, aggiungere la riga " modello homedir = /home/%U " per smb.conf (vedere la Figura 19 ). In questo modo Winbind che la home directory per ciascun utente che autentica l'utilizzo di Active Directory sarà /home/ < nome utente >. Assicurarsi di creare il /home directory preventivamente.

fig19.gif

Nella figura 19 specifica il nome della directory principale fare clic su Immagine per una visualizzazione ingrandita

Collegando il dominio e la registrazione in

Ora che la rete, PAM, NSS e Winbind samba vengono tutti configurati correttamente, è possibile aggiungere il computer Linux al dominio. A tal utilizzando il comando NET samba. Al prompt dei comandi shell eseguire "NET annunci join –U < nome amministratore >". Sostituire < nome amministratore > con il nome di un account che dispone di privilegi sufficienti per aggiungere un computer al dominio.

Il comando net richiederà la password dell'utente. Se tutto funziona correttamente, il comando net verrà aggiungere il computer al dominio. È possibile utilizzare utenti e di Active Directory computer per individuare l'account del computer appena creato.

È possibile verificare lo stato del join utilizzando lo strumento test Winbind denominato wbinfo. Esecuzione –t wbinfo verrà verificare la relazione di trust tra il computer e il dominio. Esecuzione –u wbinfo Elenca tutti gli utenti nel dominio e –g wbinfo gli elenchi di tutti i gruppi.

Se si aggiungere correttamente il computer Linux al dominio, il passaggio successivo consiste nel tenta di accedere utilizzando un account utente di Active Directory e la password. Disconnettersi a computer Linux e accedere utilizzando un nome utente di Active Directory. Se tutto funziona correttamente, sarà possibile eseguire l'accesso.

Configurazione di Active Directory per Active Directory ID mapping

Queste informazioni si applicano solo se si utilizza Active Directory ID mapping. Se si è deciso di utilizzare mapping RID, possibile ignorare questa barra laterale.

Prima di avviare la registrazione al server di Red HAT con un account di Active Directory, è necessario apportare alcune modifiche in Active Directory stessa. Innanzitutto, lo schema di Active Directory deve contenere gli attributi che Winbind utilizzata per memorizzare le informazioni di utente. Se si esegue Windows Server 2003 R2, lo schema è pronto per passare. Se disponi di una versione precedente dello schema di Active Directory, sarà necessario estendere in Servizi Microsoft per UNIX (SFU) pacchetto.

È possibile trovare ulteriori su Servizi per UNIX su TechNet. SFU oltre una pagina di proprietà aggiuntiva per Active Directory Users e MMC computer snap-in che consente di gestire l'ID utente le informazioni SULL'ID gruppo che richiede di Linux.

Dopo lo schema è configurato correttamente, è necessario fornire identificatori Linux per tutti gli utenti e i gruppi a cui sono membri che potrebbe accedere a computer Linux. Questo avere definire i valori per gli attributi uidNumber e gidNumber per gli utenti e i gruppi potrebbero accedere ai computer Linux. Ma è consigliabile tenere presenti alcuni requisiti per questi attributi:

  1. Linux richiede un UID per ogni utente autenticato. Poiché si desidera gestire le informazioni utente in Active Directory, ogni account utente che verrà accede a un computer Linux deve avere un attributo di uidNumber univoco. Il valore specifico utilizzato per un uidNumber non è importante, ma deve essere univoco tra tutti gli utenti che potrebbero accedere al computer Linux.
  2. Ogni utente di Linux inoltre è necessario a disporre un identificatore di gruppo predefinito, in modo che ogni utente di Active Directory che verrà accede a un computer Linux richiede un valore per l'attributo gidNumber nonché. Questo valore non deve essere univoco tra gli utenti, ma è necessario identificare in modo univoco il gruppo di.
  3. Ogni gruppo in Active Directory deve dispone di un valore univoco per l'attributo gidNumber. Senso stretto è OK per i gruppi non ha un valore per l'attributo gidNumber, ma Winbind prevede, quando autentica un utente, che ogni gruppo a cui tale utente è un membro avrà un valore univoco gidNumber. L'facile probabilmente solo garantire che ciascun gruppo ha un valore univoco gidNumber.
  4. Winbind prevede che tutti gli utenti che la ricerca in Active Directory sono un membro al gruppo Domain Users richiede inoltre che il gruppo Domain Users disponga di un valore per l'attributo gidNumber.

Cosa succede se si non attività?

Impostazione di un computer Linux per l'autenticazione con Active Directory utilizzando Winbind non è un semplice progetto. Esistono numerose parti per configurare e numerose operazioni che possono accedere errati. Il fatto che ogni versione di Linux e ogni versione di samba è leggermente diverse non consentono di questioni. Tuttavia esistono alcuni punti che è possibile verificare per determinare cosa sta succedendo.

In primo luogo, vi è il file di registro sistema Linux, che viene mantenuto nella var, log e i messaggi. SAMBA inserirà i messaggi di questo file per eventi significativi quali file mancanti o configurazione errata. In aggiunta al file di registro sistema, esistono anche i file di registro per samba e Winbind. È possibile trovare in var, registro o samba, e fornirà si con alcune informazioni aggiuntive.

È possibile aumentare il dettaglio (e il volume) dei log messaggi emesso dalla Winbind modificando il script di avvio per impostare il livello di debug. Modificare lo script di shell /etc/init.d/winbind e aggiungere "-d 5" al comando winbindd. Questo verrà aumentare il livello debug a 5 (valori consentiti sono da 1 a 10), che causerà winbind generare i messaggi di errore più dettagliati.

Se Winbind è quasi come fino di comunicazione con un controller di dominio, è possibile eseguire un'utilità di acquisizione del pacchetto di rete quale Netmon 3.1. Ciò consente di analizzare esattamente ciò che Winbind sta cercando di eseguire. E inoltre è possibile controllare il registro di protezione di Windows nel controller di dominio, visualizzerà i tentativi di autenticazione.

Ora che funziona, quali si hanno?

Se è stato gestito ottenere tutti i dati per l'utilizzo, è necessario ora la possibilità di accedere con il sistema di Linux utilizzando le credenziali che viene gestito in Active Directory. Si tratta di un notevole miglioramento tramite Gestione identità locale del computer Linux o utilizzando un sistema non protetto, ad esempio NIS. Consente di centralizzare la gestione di utente sull'identità di un archivio: Active Directory.

Ma ne esistono un diverse operazioni mancano affinché questa soluzione realmente utili. Innanzitutto, ottenere supporto tecnico è un di un'operazione hit-or-miss. La maggior parte delle organizzazioni di Linux sono alquanto nello scuro quando si presenta la necessità di Active Directory e il supporto che è possibile ottenere dalla comunità di Linux dipende interamente che accade per la lettura del post e come si ritiene quel giorno.

Sono non disponibili anche strumenti di migrazione o distribuzione con samba. Se si dispone account Linux esistenti con i relativi ID utente associato e autorizzazioni, sarà necessario verificare manualmente che mantenere i UID durante la loro migrazione ad Active Directory.

Non infine, una delle principali applicazioni di Active Directory, Criteri di gruppo, è ancora disponibile con samba, sebbene sia il funzionamento. Anche se è possibile partecipare un sistema di Linux in Active Directory con samba, è impossibile gestire mediante Criteri di gruppo.

Soluzioni di terze parti

L'autenticazione computer Linux con Active Directory è chiaramente A cosa valida, ma ripristino soluzioni personalizzate utilizzando Winbind samba noioso se non downright dolorosa. Si potrebbe pensare alcuni fornitori di software innovativi sarebbe passaggio dei con una soluzione easier-to-use e sarà a destra.

Esistono quattro fornitori di software commerciale che hanno sviluppato facile da installare-e-utilizzare le versioni di ciò che È stato illustrato in questo articolo. Fornire il codice e la strumenti di migrazione per quasi ogni versione comuni di Linux, UNIX e Macintoshes Apple, nonché supporto per la gestione dei computer Linux tramite Criteri di gruppo.

Sono le quattro società Centrify, Allo stesso modo software, Software di questionario e Symark. Tutti i fornitori di quattro offrono funzionalità simili, tra cui Gestione Criteri di gruppo, tra un'ampia gamma di distribuzioni di Linux. Software Likewise ha recentemente originati apertura, l'implementazione, denominata Analogamente aprire, sebbene il componente Criteri di gruppo rimane un prodotto commerciale. Apri allo stesso modo saranno disponibili con diverse distribuzioni Linux principali. (Completo diffusione: durante il processo di scrittura questo articolo, la società, NetPro, stato acquisito da software Quest.)

Chiaro per creare il proprio sistema di autenticazione utilizzando samba e Winbind quando sono disponibili opzioni esterna? Se denaro spending nel software di integrazione non si trova in budget, quindi passare la route di apertura e di origine con samba ha il vantaggio di essere disponibile. È inoltre ottenere tutte il codice sorgente, che può essere dei vantaggi interessante. Ma la migrazione Linux esistente macchine e i relativi UID esistente è un problema molto thorny.

Al contrario, se si desidera risparmiare tempo di installazione e l'implementazione, disporre di esistente apparecchi di Linux che è necessario eseguire la migrazione, o sarà invece necessario a chiamare per una risposta alla domanda autorevole un utente, quindi estrazione a una delle soluzioni esterna senso. E se è necessario Gestione Criteri di gruppo, l'alternativa esterna è solo prescelta.

Ma indipendentemente dal modo in cui si accede, l'integrazione di autenticazione Linux con Active Directory riduce la pena che dedicare la gestione di più account utente, migliora la protezione del sistema e offre un archivio di identità solo per gestire e controllare. E quelli sono tutti i motivi molto interessante per scegliere una risposta.

Gil Kirkpatrick è progettato o sviluppato decine di prodotti software commerciale esito positivo in sua carriera 30 anni e è il fondatore della Directory Experts conferenza (denominato ora la conferenza Experts). Gil è l'autore del Active Directory Programming ed è in un collaboratore frequenti per Windows IT Pro e TechNet Magazine. Il ruolo corrente come esperto di residenza NetPro (ora parte di software Quest), Gil sull'diversi protezione, identità e i progetti di marketing e letto alla tecnologia seminari e conferenze tutto il mondo.