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

Cancellare gli user scaduti

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



Registrato: 29/03/12 17:40
Messaggi: 52

MessaggioInviato: Mer Apr 24, 2013 7:58 pm    Oggetto: Cancellare gli user scaduti Rispondi citando

Ciao ho zs con zt 0.9 e non riesco a cancellare gli utenti scaduti dalla web di zt.
Premetto che ho da cancellare circa 1000 utenti scaduti e a manina è una impresa.
Chiedo agli esperti se esiste un modo da linea di comando per cancellare gli utenti scaduti.
Grazie anticipatamente
Top
Profilo Invia messaggio privato
truthahn



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

MessaggioInviato: Mer Apr 24, 2013 8:45 pm    Oggetto: Rispondi citando

ciao viger, ti ho buttato giù uno script al volo... dovrebbe andare Rolling Eyes
comunque per sicurezza ho messo un read quindi prova all'inizio ad eliminare un paio di utenti e vedi se ha fatto il suo dovere.
Se riesci a provarlo su una macchina di test naturalmente è molto meglio.
Naturalmente non mi assumo nessuna responsabilità in caso di disastri quindi occhio!!

Codice:

#!/bin/bash
echo -n "Numero utenti da eliminare: "
read num
n=1
EXPIRED=$(/usr/local/bin/ldapsearch -xLLL -b "ou=People,$(cat /Database/var/register/system/ldap/base)" displayName=*scaduto* uid)
USEREXPIRED=$(echo "$EXPIRED" | sed -n '/uid:/p' | awk '{ print $2 }')
if [ -n "$USEREXPIRED" ];then
   for USER_EX in $USEREXPIRED;do
      [ $n -gt $num ] && break
      echo "$n elimino $USER_EX"
      if [ -d /Database/var/register/system/startup/scripts/ZT"$USER_EX"START-Cron ];then
         rm -rf /Database/var/register/system/startup/scripts/ZT"$USER_EX"START-Cron
         rm -rf /Database/var/register/system/startup/scripts/ZT"$USER_EX"STOP-Cron
      fi
      rm -rf /Database/var/register/system/acct/entries/$USER_EX 2>/dev/null
      rm -rf /Database/var/register/system/acct/credits/$USER_EX 2>/dev/null
      /usr/local/bin/ldapdelete -c -x -D "cn=Manager,$(cat /Database/var/register/system/ldap/base)" \
      -w $(cat /Database/var/register/system/ldap/rootpw) "uid=$USER_EX,ou=People,$(cat /Database/var/register/system/ldap/base)" > /dev/null
      /usr/local/bin/ldapdelete -c -x -D "cn=Manager,$(cat /Database/var/register/system/ldap/base)" \
      -w $(cat /Database/var/register/system/ldap/rootpw) "cn=$USER_EX,ou=Radius,$(cat /Database/var/register/system/ldap/base)" > /dev/null
      kadmin.local -q "delprinc -force $USER_EX" 2>/dev/null > /dev/null
      n=$(($n+1))
   done
fi


poi alla fine rilancia cron.
Saluti.


L'ultima modifica di truthahn il Dom Apr 28, 2013 5:01 pm, modificato 3 volte
Top
Profilo Invia messaggio privato
viger_uno



Registrato: 29/03/12 17:40
Messaggi: 52

MessaggioInviato: Dom Apr 28, 2013 10:14 am    Oggetto: Rispondi citando

truthahn ha scritto:
ciao viger, ti ho buttato giù uno script al volo... dovrebbe andare Rolling Eyes
comunque per sicurezza ho messo un read quindi prova all'inizio ad eliminare un paio di utenti e vedi se ha fatto il suo dovere.
Se riesci a provarlo su una macchina di test naturalmente è molto meglio.
Naturalmente non mi assumo nessuna responsabilità in caso di disastri quindi occhio!!

Codice:
#!/bin/bash

echo -n "Numero utenti da eliminare: "
read num
n=1
EXPIRED=$(/usr/local/bin/ldapsearch -xLLL -b "ou=People,$(cat /Database/var/register/system/ldap/base)" displayName=*scaduto* uid)
USEREXPIRED=$(echo "$EXPIRED" | sed -n '/uid:/p' | awk '{ print $2 }')
if [ -n "$USEREXPIRED" ];then
   for USER_EX in $USEREXPIRED;do
               [ $n -gt $num ] && break
      echo "$n elimino $USER_EX"
      if [ -d /Database/var/register/system/startup/scripts$ZT$USER_EX$START-Cron ];then
         rm -rf /Database/var/register/system/startup/scripts/$ZT$USER_EX$START-Cron
         rm -rf /Database/var/register/system/startup/scripts/$ZT$USER_EX$STOP-Cron
      fi
      rm -rf /Database/var/register/system/acct/entries/$USER_EX 2>/dev/null
      rm -rf /Database/var/register/system/acct/credits/$USER_EX 2>/dev/null
      /usr/local/bin/ldapdelete -c -x -D "cn=Manager,$(cat /Database/var/register/system/ldap/base)" \
      -w $(cat /Database/var/register/system/ldap/rootpw) "uid=$USER_EX,ou=People,$(cat /Database/var/register/system/ldap/base)" > /dev/null
      /usr/local/bin/ldapdelete -c -x -D "cn=Manager,$(cat /Database/var/register/system/ldap/base)" \
      -w $(cat /Database/var/register/system/ldap/rootpw) "cn=$USER_EX,ou=Radius,$(cat /Database/var/register/system/ldap/base)" > /dev/null
      kadmin.local -q "delprinc -force $USER_EX" 2>/dev/null > /dev/null
      n=$(($n+1))
   done
fi


poi alla fine rilancia cron.
Saluti.


Ciao truthahn scusa il ritardo ma sono stato occupato.......Ho provato lo script che hai fatto e ha funzionato al primo colpo.
Ha cancellato circa 1000 utenti scaduti in pochi secondi.
Come sempre sei il migliore..Grazie
Top
Profilo Invia messaggio privato
truthahn



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

MessaggioInviato: Dom Apr 28, 2013 11:36 am    Oggetto: Rispondi citando

Bene, son contento!
Toglimi una curiosità (se puoi): 1000 utenti son tanti, dove lo stai usando il captive portal? Shocked
Buona domenica.
Top
Profilo Invia messaggio privato
truthahn



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

MessaggioInviato: Dom Apr 28, 2013 5:05 pm    Oggetto: Rispondi citando

Ho visto ora, e ho sistemato, che lo script aveva un errore e se avevi delle programmazioni con cron degli utenti dovrebbe non averle cancellate.
Controlla la cartella
/Database/var/register/system/startup/scripts/
e casomai cancellale con "rm".
Ciao.
Top
Profilo Invia messaggio privato
viger_uno



Registrato: 29/03/12 17:40
Messaggi: 52

MessaggioInviato: Mar Apr 30, 2013 7:50 am    Oggetto: Rispondi citando

truthahn ha scritto:
Bene, son contento!
Toglimi una curiosità (se puoi): 1000 utenti son tanti, dove lo stai usando il captive portal? Shocked
Buona domenica.


Ciaoi truthahn per la cancellazione è andato tutto bene...
IL fatto che bisognava cancellare 1000 utenti scaduti è stato causato dal fatto che l'operatore del circolo non ha mai pensato di cancellare gli scaduti.
Siccome il circolo ospita gruppi di giovani che usufruiscono della navigazione gratuita
invece di dargli una password per gruppo dava ad ognuno una diversa.E se non ricordavano la password la ricreavano.
Top
Profilo Invia messaggio privato
acquafzeroshell



Registrato: 31/03/15 14:14
Messaggi: 3

MessaggioInviato: Ven Apr 10, 2015 12:12 pm    Oggetto: Rispondi citando

viger_uno ha scritto:
truthahn ha scritto:
Bene, son contento!
Toglimi una curiosità (se puoi): 1000 utenti son tanti, dove lo stai usando il captive portal? Shocked
Buona domenica.


Ciaoi truthahn per la cancellazione è andato tutto bene...
IL fatto che bisognava cancellare 1000 utenti scaduti è stato causato dal fatto che l'operatore del circolo non ha mai pensato di cancellare gli scaduti.
Siccome il circolo ospita gruppi di giovani che usufruiscono della navigazione gratuita
invece di dargli una password per gruppo dava ad ognuno una diversa.E se non ricordavano la password la ricreavano.


Buongiorno a tutti
sapete come cancellare SOLO il traffico di tutti gli utenti con uno script?
Dalla sezione Accounting al momento devo selezionarne uno per volta e cancellarlo Sad
Grazie mille
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