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

aggiungere utente dalla shell
Vai a Precedente  1, 2
 
Nuovo argomento   Rispondi    Indice del forum -> ZeroShell
Precedente :: Successivo  
Autore Messaggio
giancagianca



Registrato: 14/08/07 20:10
Messaggi: 320

MessaggioInviato: Dom Apr 19, 2009 4:27 am    Oggetto: Rispondi citando

Ciao Fulvio
ciao a tutti

Allego lo script per creare utenti da console. E' una modifica di quello che utilizzo per creare parecchi utenti e che è possibile scaricare.

User e password sono creati in automatico. (modificare le varibili all'interno dello script per adattarle alle proprie esigenze). Non viene generata entry ldap per il radius ne certificato.

Copiare ed incollare il codice in un file.

Codice:


#!/bin/bash

. /etc/kerbynet.conf

# inserire la password dell'utente admin SENZA LASCIARE SPAZI
ADMINPWD=xxxxxxxxxxx

#Lunghezza della password (per default 6 caratteri)
LENPASS=6

#Maschera caratteri utilizzabili per generazione password
#default solo caratteri minuscoli e numeri
#MASKPASS="A-Za-z0-9"
MASKPASS="a-z0-9"

#Parte iniziale del nome utente
STARTUSER="ZS"

# Il none utente viene creato come $STARTUSER+progressivo numerico
# Con i parametri di default ZS001 ZS002 ZS003

# con le righe commentate il progressivo viene creato di 3 cifre
#decommentare le righe per aumentare il numero delle cifre

# lo uid dell' utente viene generata come 1000+progressivo.

# colore utilizzato per visualizzare la maschera
COLORE="\E[37;44m"

if [ ! -e "/Database/utente" ]
then
   echo 0 >/Database/utente
fi

KRB5=`cat $REGISTER/system/k5/realm`
# echo "KERBEROS = $KRB5"
LDAP=`cat $REGISTER/system/ldap/base`
# echo "LDAP = $LDAP"

echo -e $COLORE
clear


echo Creazione Utenti ZeroShell

echo ""
echo ""

echo -n "Nome ......... "
read NAME1
echo ""
echo -n "Cognome ...... "
read NAME2
echo ""
echo -n "Organizzazione "
read ORGAN
echo ""
echo -n "Mail ......... "
read MAIL
echo ""
echo -n "Telefono ..... "
read PHONE
echo ""
echo -n "Descrizione .. "
read GECOS


CONTA=`cat /Database/utente`
echo $CONTA $((CONTA+1))

CONTA=$((CONTA+1))
CONTAST=$((CONTA))

UIDN=$((CONTA+1000))


# echo $CONTA

if (($CONTA < 10)); then
   CONTAST="0"$CONTAST
fi

if (($CONTA < 100)); then
   CONTAST="0"$CONTAST
fi

#decommentare se parte numerica login di 4 o 5 cifre
#if (($CONTA < 1000)); then
#   CONTAST="0"$CONTAST
#fi

# decommentare se parte numerica login di 5 cifre
#if (($CONTA < 10000)); then
#   CONTAST="0"$CONTAST
#fi

echo $CONTAST
echo $CONTA > /Database/utente

echo ""
echo "Dati Login"
echo ""

echo "Utente    $STARTUSER$CONTAST "

PASSWORD=$(cat /dev/urandom | tr -dc ${MASKPASS}|head -c${LENPASS})
echo "Password  $PASSWORD"
echo ""

rm -f user.ldif
rm -f kerberos.cmd

echo "dn: uid=$STARTUSER$CONTAST, ou=People, $LDAP" >user.ldif
echo "o: $ORGAN" >>user.ldif
echo "givenName: $NAME1" >>user.ldif
echo "telephoneNumber: $PHONE" >>user.ldif
echo "sn: $NAME2" >>user.ldif
echo "loginShell: /bin/sh" >>user.ldif
echo "gidNumber: 65534" >>user.ldif
echo "uidNumber: $UIDN" >>user.ldif
echo "displayName: ?" >>user.ldif
echo "mail: $MAIL" >>user.ldif
echo "objectClass: inetOrgPerson" >>user.ldif
echo "objectClass: posixAccount" >>user.ldif
echo "objectClass: top" >>user.ldif
echo "objectClass: shadowAccount" >>user.ldif
echo "objectClass: organizationalPerson" >>user.ldif
echo "uid: $STARTUSER$CONTAST" >>user.ldif
echo "gecos: $GECOS" >>user.ldif
echo "cn: ?" >>user.ldif
echo "homeDirectory: /home/$STARTUSER$CONTAST" >>user.ldif
echo "description: ?" >>user.ldif

# genero la password
echo -n export IEOPWD=>ieopass.sh
slappasswd -s$PASSWORD >>ieopass.sh
chmod 777 ieopass.sh
. ./ieopass.sh

echo "userPassword: $IEOPWD " >>user.ldif
echo "" >>user.ldif
echo "" >>user.ldif


# kerberos
echo "add_principal -pw $PASSWORD $STARTUSER$CONTAST@$KRB5" >kerberos.cmd
echo "quit" >>kerberos.cmd

# carico il file ldif
# aggiorno il kerberos

echo "ldapadd -x -h 127.0.0.1 -Dcn=Manager,$LDAP -w $ADMINPWD -f user.ldif" >createuser.sh
echo "kadmin.local <kerberos.cmd" >>createuser.sh
chmod 777 createuser.sh


#creo un file con nome uguale alla login per riepilogare i dati

echo $STARTUSER$CONTAST >$STARTUSER$CONTAST
echo $PASSWORD >>$STARTUSER$CONTAST
echo $NAME1 >>$STARTUSER$CONTAST
echo $NAME2 >>$STARTUSER$CONTAST
echo $MAIL >>$STARTUSER$CONTAST
echo $PHONE >>$STARTUSER$CONTAST

. ./createuser.sh

echo "Utente creato"
echo "Il file $STARTUSER$CONTAST contiene le informazioni riepilogative dell'utente"




Tutti i parametri vengono presi dal database attivo.

Impostare nello script la password dell'utente admin.

Viene creato un file con il contatore degli utenti (/Database/utenti).

Il nome utente viene generato combinando una parte costante piu un progressivo numerico.
Il modo per allineare a dx il progressivo numerico non è molto elegante ma in questo modo è possibile variare la lunghezza solo commentando o decommentando le righe.

Le variabili da PERSONALIZZARE sono ADMINPWD, LENPASS, MASKPASS, STARTUSER.

Viene creato un file (nella cartella in cui viene eseguito lo script) con i tutti i dati dell'utente.

E' sicuramente migliorabile ma penso che come base di partenza sia sufficiente.

Conviene creare una cartella in /Database e copiare li lo script.


Assegnare gli attributi di esecuzione allo script.

Ciao.
Top
Profilo Invia messaggio privato
ASVP



Registrato: 21/05/08 12:58
Messaggi: 134

MessaggioInviato: Dom Apr 19, 2009 11:53 am    Oggetto: Rispondi citando

sempre in tema di utenti.... durante l'autorizzazione di un utente sul captive portal c'e' modo di recuperare il nome dell'utente che sta venendo autenticato dallo script :

Captive Portal Authentication script

presente nella sezione

SYSTEM -> Startup/Cron -> ?

mi piacerebbe eseguire delle operazioni conoscendo il principal di un determinato utente durante la sua autentificazione sul captive portal !
_________________
www.asvp.it
Top
Profilo Invia messaggio privato
manuelsal



Registrato: 08/04/09 15:08
Messaggi: 16
Residenza: Norcia

MessaggioInviato: Mar Apr 21, 2009 10:35 pm    Oggetto: Molto interessante... Rispondi citando

Ciao, molto interessante questa discussione, ma dato che mi devo mettere a scrivere una applicazioncina da zero per aggiungere un utente nel server di autenticazione locale, volevo chiedere se qualcuno ha già fatto qualcosa e se ne vuole condividere i sorgenti. (vanno bene sia c#, Java..).

Grazie comunque
Ciao
Top
Profilo Invia messaggio privato
lollo85



Registrato: 24/02/09 13:11
Messaggi: 55

MessaggioInviato: Mer Apr 22, 2009 9:21 am    Oggetto: Rispondi citando

io ed mio amico abbiamo creato un piccolo sistema di autenticazione con interfaccia grafica utilizzando zenity e qualche script in bash

il tutto funziona così, uno script prende i nomi degli utenti da zeroshell, tramite il collegamento ssh poi, da la lista sulla grafica, e cambia le pw generandole random
Top
Profilo Invia messaggio privato MSN
manuelsal



Registrato: 08/04/09 15:08
Messaggi: 16
Residenza: Norcia

MessaggioInviato: Mer Apr 22, 2009 11:17 am    Oggetto: Rispondi citando

Quindi il client finale è platform indipendent? Che avete usato Java?
ty
Top
Profilo Invia messaggio privato
lollo85



Registrato: 24/02/09 13:11
Messaggi: 55

MessaggioInviato: Mer Apr 22, 2009 11:43 am    Oggetto: Rispondi citando

no, zenity è solo x linux
Top
Profilo Invia messaggio privato MSN
manuelsal



Registrato: 08/04/09 15:08
Messaggi: 16
Residenza: Norcia

MessaggioInviato: Mer Apr 22, 2009 1:16 pm    Oggetto: Rispondi citando

ho lo disconosco completamente Smile grazie

ciao
Top
Profilo Invia messaggio privato
ASVP



Registrato: 21/05/08 12:58
Messaggi: 134

MessaggioInviato: Dom Mag 03, 2009 9:49 pm    Oggetto: Rispondi citando

ASVP ha scritto:
sempre in tema di utenti.... durante l'autorizzazione di un utente sul captive portal c'e' modo di recuperare il nome dell'utente che sta venendo autenticato dallo script :

Captive Portal Authentication script

presente nella sezione

SYSTEM -> Startup/Cron -> ?

mi piacerebbe eseguire delle operazioni conoscendo il principal di un determinato utente durante la sua autentificazione sul captive portal !


Greazie a fulvio vi segnalo che se siete interessati a recuperare username dopo l'autentificazione potete effettuarlo da qui

/root/kerbynet.cgi/scripts/cp_connect

per poterlo modificare e' necessario copiarsi il file originale in /Database modificarlo e poi in fase di postboot copiarlo in /root/kerbynet/script sovrascrivendo il file originale.

Ciao
_________________
www.asvp.it
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
Vai a Precedente  1, 2
Pagina 2 di 2

 
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