Indice del forum www.zeroshell.net
Distribuzione Linux ZeroShell
 
 FAQFAQ   CercaCerca  GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo  Log inLog in   Messaggi privatiMessaggi privati 

Esportazione utenti da un ZS ed importazione su altri ZS

 
Nuovo argomento   Rispondi    Indice del forum -> ZeroShell
Precedente :: Successivo  
Autore Messaggio
Gianny



Registrato: 12/09/09 18:56
Messaggi: 69

MessaggioInviato: Mar Ago 30, 2011 8:27 am    Oggetto: Esportazione utenti da un ZS ed importazione su altri ZS Rispondi citando

Salve,
avrei una richiesta un pò singolare.
Mi trovo nella condizione di non poter usare ZS in configurazione centralizzata, ovvero ogni nodo/zona deve avere vita autonoma.
Quindi mi trovo ad avere 5 macchine con ZS indipendenti, ma dove è richiesto che tutti gestiscano i medesimi utenti, ovvero un ZS farà da gate per gli altri. Le utenze si identificano presso la prima macchina ZS di riferimento e successivamente si dovrebbe poter esportare le utenze caricate ed importarle sulle altre 4 macchine.
Purtroppo non è possibile collegare una macchina con le altre e si dovrebbe ricorrere ad una esportazione su supporto fisico ed importazione da supporto fisico.
Come sarebbe possibile realizzare tale implementazione sulla Beta15?

Grazie a tutti.
Top
Profilo Invia messaggio privato
AMDFabio



Registrato: 02/08/08 10:53
Messaggi: 177
Residenza: Monteombraro

MessaggioInviato: Mar Ago 30, 2011 12:24 pm    Oggetto: Rispondi citando

scusa forse avro capito male, ma non c'è un ZS che funge da GW? se si allora usi il db LDAP di quello e gli altri ZS usufruiscono di quel LDAP..
_________________
skype: amdfabio91

Le sfide dell'informatica:
1) Windows vs Linux vs Mac
2) AMD vs Intel
3) Nvidia vs Ati(aquisita dall'AMD)
4) Windows 7 vs Windows XP
Top
Profilo Invia messaggio privato Invia e-mail Yahoo MSN
Gianny



Registrato: 12/09/09 18:56
Messaggi: 69

MessaggioInviato: Mar Ago 30, 2011 4:43 pm    Oggetto: Rispondi citando

Ciao,
purtroppo il vincolo che mi è stato posto è quello per il quale le macchine ZS devono essere tra loro isolate anche come GW (ogni macchina deve avere una propria gestione dei log, propria configurazione, proprio QoS, Firewall etc).
Infatti puntavo ad un processo di esportazione/importazione utenze per evitare di censire 5 volte una stessa utenza.
Ma non trovo una soluzione.
Top
Profilo Invia messaggio privato
Gianny



Registrato: 12/09/09 18:56
Messaggi: 69

MessaggioInviato: Sab Feb 23, 2013 1:52 pm    Oggetto: Rispondi citando

Come sarebbe possibile esportare da ZS il db LDAP dentro il quale esistono oltre 500utenti?
Step successivo, come sarebbe possibile importare nel nuovo ZS il db LDAP?

Un grazie a tutti.
Top
Profilo Invia messaggio privato
truthahn



Registrato: 12/06/12 11:46
Messaggi: 2225

MessaggioInviato: Dom Feb 24, 2013 5:02 pm    Oggetto: Rispondi citando

Ciao, per esportarlo puoi utilizzare "slapcat" naturalmente...

Codice:
slapcat > ldap.txt


e ti ritrovi un file con dentro tutto il tup ldap.

Per caricarlo su un altro zs puoi provare, ripeto provare, riripeto provare (non l'ho testato a fondo e per il nuovo zerotruth ho preferito una strada diversa per sincronizzare i zs remoti) questo script:

Codice:
#!/bin/bash
C_SYSTEM="/Database/var/register/system"
C_LDAPBASE="$(cat $C_SYSTEM/ldap/base)"
C_LDAPROOT="$(cat $C_SYSTEM/ldap/rootpw)"
C_LDAPMANAGER="cn=Manager"
LDAP_FILE="$1"
if [ -f $LDAP_FILE ];then
   for USERLD in $(cat $LDAP_FILE | grep "dn: uid=" | cut -d'=' -f2 | cut -d',' -f1);do
      LINE=$(/usr/local/bin/ldapsearch  -xLLL  -b  "ou=People,$C_LDAPBASE"  uid=$USERLD uid )
      USERLOCAL=$( echo "$LINE" | grep -e '^uid: ' | cut -d":" -f2  | sed 's/.\(.*\)/\1/' )
      if [ -n "$USERLOCAL" ];then
         DATA=$(sed -n "/^dn: uid=$USERLD/,/^shadowExpire/p" $LDAP_FILE | sed -e '1d' | sed -e '/^object/d' | \
         sed -e '/^homeD/d' | sed -e '/^entry/d'  | sed -e '/^login/d' | sed -e '/^creat/d' | sed -e '/^structural/d' )
         UIDUSER="dn: uid=$USERLD,ou=People,$C_LDAPBASE"
         DATA="$UIDUSER\n$DATA"
         echo -e "$DATA" | /usr/local/bin/ldapmodify -c -x -D "$C_LDAPMANAGER,$C_LDAPBASE" -w $C_LDAPROOT
         DATA=$(sed -n "/^dn: cn=$USERLD/,/^sn: /p" $LDAP_FILE| sed -e '1d' | sed -e '/^object/d' | sed -e '/^dial/d' | \
         sed -e '/^entry/d'  | sed -e '/^login/d' | sed -e '/^creat/d' | sed -e '/^structural/d' )
         CNUSER="dn: cn=$USERLD,ou=Radius,$C_LDAPBASE"
         DATA="$CNUSER\n$DATA"
         if [ -z $(echo "$DATA" | grep -w "radiusUserCategory" 2>/dev/null) ];then
            DATA="$DATA\nradiusUserCategory: DEFAULT"
         fi   
         echo -e "$DATA" | /usr/local/bin/ldapmodify -c -x -D "$C_LDAPMANAGER,$C_LDAPBASE" -w $C_LDAPROOT
      else   
         DATA=$(sed -n "/^dn: uid=$USERLD/,/^shadowExpire/p" $LDAP_FILE | sed -e '1d' | sed -e '/^entry/d' | \
         sed -e '/^login/d' | sed -e '/^creat/d' | sed -e '/^structural/d' )
         UIDUSER="dn: uid=$USERLD,ou=People,$C_LDAPBASE"
         DATA="$UIDUSER\n$DATA"
         echo -e "$DATA" | /usr/local/bin/ldapadd -c -x -D "$C_LDAPMANAGER,$C_LDAPBASE" -w $C_LDAPROOT
         DATA=$(sed -n "/^dn: cn=$USERLD/,/^sn:/p" $LDAP_FILE |  sed -e '/^structural/d' | sed -e '/^creat/d' | sed -e '/^entry/d' | sed -e '1d' )
         CNUSER="dn: cn=$USERLD,ou=Radius,$C_LDAPBASE"
         DATA="$CNUSER\n$DATA"
         if [ -z $(echo "$DATA" | grep -w "radiusUserCategory" 2>/dev/null) ];then
            DATA="$DATA\nradiusUserCategory: DEFAULT"
         fi   
         echo -e "$DATA" | /usr/local/bin/ldapadd -c -x -D "$C_LDAPMANAGER,$C_LDAPBASE" -w $C_LDAPROOT
      fi
   done
# rm -rf $LDAP_FILE
fi


cosa fa: se trova un utente già inserito lo aggiorna mentre se non esiste lo inserisce. Non si occupa di kerberos (si dovrebbe inserie un paio di righe per questo).
Ripeto da testare!
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> ZeroShell Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi


Powered by phpBB © 2001, 2005 phpBB Group
phpbb.it