Gestione dell'accesso a più sistemi linux


15

A cercato risposte ma non ho trovato nulla qui ...

Per farla breve: un'organizzazione senza scopo di lucro ha un disperato bisogno di modernizzare la sua infrastruttura. La prima cosa è trovare un'alternativa alla gestione degli account utente su un numero di host Linux.

Abbiamo 12 server (sia fisici che virtuali) e circa 50 workstation. Abbiamo 500 potenziali utenti per questi sistemi. L'individuo che ha costruito e mantenuto i sistemi nel corso degli anni si è ritirato. Ha scritto i suoi script per gestire tutto. Funziona ancora. Nessuna lamentela lì. Tuttavia, molte cose sono molto manuali e soggette a errori. Il codice è disordinato e dopo gli aggiornamenti spesso deve essere modificato. La parte peggiore è che c'è poco o nessun documento scritto. Ci sono solo alcune note e note casuali di ReadMe che potrebbero non essere più rilevanti. Quindi la manutenzione è diventata un compito difficile.

Attualmente gli account sono gestiti tramite / etc / passwd su ciascun sistema. Gli aggiornamenti vengono distribuiti tramite cron script ai sistemi corretti man mano che gli account vengono aggiunti sul server "principale". Alcuni utenti devono avere accesso a tutti i sistemi (come un account sysadmin), altri hanno bisogno di accedere a server condivisi, mentre altri potrebbero aver bisogno di accedere a workstation o solo un sottoinsieme di quelli.

Esiste uno strumento che può aiutarci a gestire gli account che soddisfano i seguenti requisiti?

  • Preferibilmente open source (ovvero gratuito poiché il budget è MOLTO limitato)
  • mainstream (ovvero mantenuto)
  • preferibilmente ha l'integrazione LDAP o potrebbe essere fatto per interfacciarsi con il servizio LDAP o AD per l'autenticazione dell'utente (sarà necessario nel prossimo futuro per integrare gli account con altri uffici)
  • gestione utenti (aggiunta, scadenza, rimozione, blocco, ecc.)
  • consente di gestire a quali sistemi (o gruppi di sistemi) ogni utente ha accesso - non tutti gli utenti sono ammessi su tutti i sistemi
  • supporto per account utente che potrebbero avere homedir e supporti diversi disponibili a seconda del sistema in cui sono stati registrati . Per esempio
    • sysadmin connesso al server "principale" ha main: // home / sysadmin / as homedir e ha tutti i mount condivisi
    • sysadmin connesso alle workstation del personale avrebbe nas: // user / s / sysadmin come homedir (diverso da sopra) e un set potenzialmente limitato di supporti,
    • un client connesso avrebbe il suo homedir in una posizione diversa e nessun supporto condiviso.
  • Se esiste un'interfaccia di gestione semplice, sarebbe fantastico.
  • E se questo strumento è multipiattaforma (Linux / MacOS / * nix), sarà un miracolo!

Ho cercato sul web e quindi non ho trovato nulla di adatto. Siamo aperti a qualsiasi suggerimento. Grazie.

EDIT: questa domanda è stata erroneamente contrassegnata come duplicata. Il link per rispondere parla solo di avere gli stessi homedir su tutti i sistemi, mentre abbiamo bisogno di avere homedir diversi in base a quale utente di sistema è attualmente connesso (MULTIPLE homedirs). Inoltre l'accesso deve essere concesso solo ad alcune macchine e non all'intero lotto. Mod, ti preghiamo di comprendere la portata del problema invece di limitarti a contrassegnarlo come duplicato per i punti ...


I "punti" non vengono assegnati per la marcatura di duplicati. La tua domanda non era abbastanza chiara da essere considerata duplicata da 5 persone.
user9517

Non lo sapevo. Ok grazie. Tuttavia, è stato contrassegnato come duplicato in fretta. Si prega di leggere i requisiti in forma di punto che indicano chiaramente ciò che è necessario. Questo non è un duplicato. Il collegamento fornito alla "soluzione" consente l'accesso indiscriminato a tutti i sistemi (dobbiamo limitare chi ha accesso e quale sistema o gruppi di sistemi). La posizione effettiva di Homedir dipende dal sistema a cui si accede. Lo stesso utente potrebbe avere homedir E supporti diversi a seconda del sistema a cui è connesso.
Swartz,

Solo per chiarire: nell'esempio di sysadmin sopra citato, main e nas sono server diversi? Quindi, lo stesso utente avrebbe accesso a diversi homedir a seconda dell'omedir a cui accede?
Marco Bizzarri,

@MarcoBizzarri: non sono sicuro di aver capito. Il sistema a cui l'utente ha effettuato l'accesso determina homedir. SysA e SysB potrebbero avere / home / bob in / etc / passwd, mentre homdir per Bob su SysC potrebbe essere / da qualche parte / else / bob. Le due posizioni conterranno dati diversi. L'utente del sistema che ha effettuato l'accesso determina quali altri supporti sono disponibili. Ciò consentirebbe solo ai sistemi di personale di accedere a supporti di personale condivisi. Dove come sistemi "pubblicamente" disponibili saranno limitati ad altri supporti. Pertanto, uno staff deve trovarsi su un PC designato dal personale per accedere ai supporti del personale. Un po 'di compartimentazione ...
Swartz,

Ok, quindi ci sono due punti diversi qui: homedir è stato risolto e può trovarsi da qualche parte (sullo stesso server o su un altro) ma è sempre così. Voglio dire, SysA ha sempre il suo homedir su serverX, non importa quale. Dopodiché, c'è una directory condivisa tra lo staff, chiamiamola staff_dir, che dovrebbe essere disponibile quando le persone dello staff accedono a staff_workstation, ma non quando si accede a normal_workstation; è corretto?
Marco Bizzarri,

Risposte:


17

FreeIPA è probabilmente quello che stai cercando. È per Linux ciò che Active Directory è per Windows. (Può anche parlare con AD se si dispone di un ambiente eterogeneo, ma non dovrebbe essere utilizzato per gestire direttamente i computer Windows. Utilizzare AD per quello.)

La documentazione di Red Hat (la chiamano Identity Management) è molto completa e facile da seguire e dovrebbe essere applicabile soprattutto anche se non si utilizzano sistemi derivati ​​da Red Hat.


+1 freeipa è fantastico.
Sirex,

Guarderò FreeIPA. Grazie per il consiglio. Domanda: FreeIPA supporta avere homedir diversi su sistemi diversi? Esempio: l'utente Bob ha (NFS esportato) homedir in / shared / home / xyz quando si accede a SystemA e SystemB, ma quando su SystemC / qualunque sia / special è l'omedir di Bob.
Swartz,

Hai visto gli automount ? Ciò dovrebbe consentirti di raggiungere il 90% circa del percorso, mentre il restante 10% è costituito da lievi modifiche al tuo ambiente esistente.
Michael Hampton

Sì, i sistemi esistenti utilizzano l'automount. Questi sono configurati manualmente per ogni tipo di sistema. Purtroppo il nostro ambiente esistente è troppo ingombrante da mantenere. Soprattutto dopo gli aggiornamenti o quando si creano nuove immagini di sistema. Sebbene il suo nucleo funzioni, c'è sempre qualcosa che deve essere modificato per farlo funzionare.
Swartz,

Bene allora. Ora hai una buona opportunità per iniziare a pulire le cose.
Michael Hampton

6

Suggerirei un buon consulente locale per valutare i dettagli della tua situazione ...

Veramente.

Potrebbero esserci altri requisiti o sfumature aziendali che le persone in questo forum potrebbero non riconoscere o essere investite abbastanza da considerare. Una risorsa dedicata è la soluzione migliore ... Altrimenti, ti stiamo solo lanciando consigli sui prodotti per qualcosa che è facilmente fuori portata per una semplice domanda e risposta.


Nonostante ciò, il mio approccio sarebbe quello di sfruttare Microsoft Active Directory e legare i sistemi Linux all'utilizzo di SSSD o LDAP. FreeIPA va bene in una casa interamente Linux, ma anche se dici "no profit", ciò non esclude necessariamente Windows. Incontrerai Active Directory da qualche parte lungo il percorso. Potresti voler aumentare questo con le home directory montate automaticamente, ma i dettagli di chi viene montato quando o dove non sono chiari.

Anche negli ambienti di cloud privato Linux al 99% che ho creato ora, mi affido ancora ad Active Directory per facilità di gestione e autenticazione centralizzata. I gruppi e le autorizzazioni di accesso sono facili, la politica delle password e l'invecchiamento dell'account è semplice. Qualsiasi dubbio su manutenibilità, condivisione della mente e compatibilità è coperto dalla soluzione Microsoft. La replica è integrata, è ben documentata e c'è un po 'di soluzioni a prova di futuro inerenti alla tecnologia.

Ci sono alcuni dettagli mancanti nella tua domanda originale, sebbene ...

  • Quali particolari distribuzioni Linux sono presenti nell'ambiente? Le versioni sono coerenti?
  • È necessario lo stesso livello di granularità di gestione per i sistemi Macintosh (la maggior parte delle organizzazioni non tenta di gestire completamente i computer Apple)?
  • Ci sono utenti remoti?
  • Citi "* nix" - Che tipo di * nix è presente?

2
non vale assolutamente nulla che freeipa possa fare tutto ciò per le macchine linux (replica, politica password, gruppi ecc.) ed è molto facile da installare (davvero!). Esegue anche la replica bidirezionale su active directory (abbastanza sicuro che i nuovi utenti siano unidirezionali a causa della presenza di campi aggiuntivi in ​​AD), ma se si dispone di macchine Windows si presta volentieri AD indipendentemente dal fatto che sia così centrale nel modo di Windows di vita. Inoltre, la documentazione in Freeipa è ancora un po 'carente.
Sirex,

Purtroppo non esiste un budget per un consulente. Non ci sono macchine Windows (solo se il personale ne porta le proprie). Tutti i sistemi sono CentOS (alcuni 5.x altri sono 6.x). L'organizzazione è in procinto di ottenere alcuni vecchi iMac (2007), quindi sarebbe bello avere uno strumento che funzioni su OSX e Linux. Una cosa carina: non devi preoccuparti di Windows.
Swartz,

Concordo con il suggerimento di Active Directory: se i costi di licenza rappresentano un problema, Samba4 è un'alternativa gratuita e utilizza gli stessi strumenti / infrastrutture di gestione di un annuncio nativo Windows-hosetd. Quasi ogni altra cosa può essere configurata per l'autenticazione con AD tramite PAM, winbind, LDAP, ecc. Per la gestione della configurazione per l'intera infrastruttura, controlla Salt ( saltstack.com/community.html blog.smartbear.com/devops/… )
nedm,

3

Il sistema attuale funziona ma è difficile da gestire. Immagino ci siano anche altri problemi per la gestione di quei server se tutto fosse fatto manualmente. Adotterei un approccio diverso non sostituendo qualcosa che funziona (gestione degli utenti) e risolvo il problema di amministrazione dei server.

Consiglio di usare qualcosa come cfengine http://cfengine.com/community (versione gratuita lì) per "modernizzare" l'amministrazione del sistema, non solo la gestione degli utenti. È una buona opportunità per provarlo perché il tuo sistema attuale funziona in modo molto simile all'utilizzo di cfengine per distribuire la configurazione ai server, nel tuo caso il file / etc / passwd. Quindi, invece di sostituirlo, devi migrare quegli script su cfengine. Speriamo che l'impatto sia minimo perché stai ancora usando lo stesso / etc / passwd.

Una volta che hai dimestichezza con il cfengine, puoi creare più ricette per risolvere più problemi come avere un sistema di gestione utenti completamente nuovo e hai lo strumento per gestire la configurazione sui server.

Per aiutarti a iniziare, ho trovato questo link http://explosive.net/opensource/cfpasswd/doc/cfengine.html che mostra come distribuire / etc / passwd e file correlati.

Anche se volessi sostituire subito il sistema di gestione degli utenti, hai comunque bisogno di uno strumento di amministrazione per gestire quei server. È meglio avere uno strumento di amministrazione prima o poi e riconfigurare la gestione degli utenti con uno strumento di amministrazione.


0

Solo alcune cose veloci da aggiungere -

Ho usato Puppet nella mia distribuzione - idea simile a cfengine - http://puppetlabs.com

Ciò potrebbe anche comportare la gestione dell'utente e la gestione generale della configurazione / server.

Se si desidera provare qualcosa di così versatile come Samba, potrebbe avere la possibilità di gestire le directory con una certa configurazione, nonché la possibilità di utilizzare un backend LDAP per la configurazione. Samba 4 è maturato molto e potrebbe effettivamente fornire un ambiente integrato con Windows e Linux per la gestione / autenticazione.

Samba funziona con AD o anche come sostituto di AD.

C'è anche un prodotto chiamato Centrify che ho visto qualche tempo fa. Non ci sono mai andato troppo lontano, ma credo che abbiano anche una versione freeware / opensource. Se ricordo che aveva un potenziale per un ambiente misto, fornendo gestione di Windows e Linux, e possibilmente Mac.

Secondo il suggerimento di un consulente. Queste installazioni possono diventare molto complicate da configurare molto velocemente, ma facili da mantenere una volta che sono documentate e configurate.

Buona fortuna


1
Ho esaminato Puppet and Chef per la gestione della configurazione all'inizio. Puppet consente 10 nodi gratuiti, con Chef ne ricevi 5 gratis. Successivamente, Puppet Labs addebita $ 99 / nodo / anno. Sarebbe qualche migliaio per noi. Affare. Anche se non ricordo i prezzi dello Chef, ma è la stessa idea. Non nel bilancio. :(
Swartz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.