Gestione degli utenti

E’ possibile eliminare un gruppo di utenti attraverso l’indicazione del gruppo?
O, meglio, si può eliminare un gruppo e tutti gli utenti che gli appartengono senza dover per forza elencarli tutti?
Grazie!

Ciao Laura,

Questa operazione non è prevista (non è prevista nemmeno dagli strumenti di Active Directory per Windows, per fare un paragone calzante), principalmente perché è considerata un’operazione pericolosa (se elimino il gruppo sbagliato/di cui non ho verificato prima i membri, posso eliminare utenti che non avrei dovuto eliminare).

A questo punto ci sono due modi con cui potete procedere:

  • Se avete ancora il file che ha generato gli utenti che volete eliminare, potete usare lo script usercsvimport con un file contenente la lista degli utenti da eliminare e usare il parametro --remove_users; al termine della rimozione degli utenti, dovreste poi rimuovere il gruppo. La rimozione degli utenti si lancerebbe dalla linea di comando così:
usercsvimport --file utentidaeliminare.csv --separator ',' --remove_users
  • C’è a possibilità di usare uno script dalla linea di comando, ma andrebbe costruito.
Contenuto nascosto - Hic sunt leones

Qualcosa di questo genere:

#!/bin/bash

group=$1; shift

# Rimuovo ricorsivamente gli utenti del gruppo dal sistema
for user in $(/sbin/e-smith/db accounts getprop ${group} Members | tr ',' ' '); do
    /sbin/e-smith/signal-event user-delete ${user}
    /sbin/e-smith/db accounts delete ${user}
done

# Infine rimuovo il gruppo richiesto
/sbin/e-smith/signal-event group-delete ${group}
/sbin/e-smith/db accounts delete ${group}

Salvato nel file rimuovi_ricorsivo.sh, può essere poi lanciato da utente root sul server come:

bash rimuovi_ricorsivo.sh <nomegruppo>

ATTENZIONE: questo script non è mai stato testato, né su una macchina virtuale né in produzione. È più una proof of concept che una possibilità operativa. Usare solo a proprio rischio e pericolo; non risponderemo per perdite di dati e/o fenomeni di scioglimento dei ghiacciai.

Spero almeno la prima soluzione possa essere percorribile.

Grazie del suggerimento, ho molto apprezzato anche lo script ma, temendo i leoni, non mi sono azzardata tanto…
Abbiamo, però, un ulteriore problema, non ricordando le regole dei nomi utente abbiamo presenti nomi con lettere maiuscole che non riusciamo ad eliminare né con un csv né con la gestione utenti di nethserver.
Che fare?

Ho risolto utilizzando le istruzioni del tuo script per eliminare singolarmente l’utente

/sbin/e-smith/signal-event user-delete ${user}
/sbin/e-smith/db accounts delete ${user}

un po’ macchinoso perché ce n’erano un centinaio ma efficente!

Grazie mille!!!