Gruppe mitsamt allen Usern löschen?

kuahmelcher

Grünschnabel
Beiträge
6
Guten Abend allerseits,

hier kommt mein erstes Posting. Vielleicht kurz vorweg: Ich habe mehrere erfolglose Versuche hinter mit mich mit Linux anzufreunden. Jetzt habe ich es mittlerweile auf einem Odroid und einem Netzwerkserver (apache/samba auf MacPro mit Debian) laufen und je mehr ich mich damit auseinandersetze umso glücklicher bin ich damit. Über die Anfänge möchte ich lieber nicht sprechen :) Nun denn: ich bin also ein ambitionierter Anfänger.

Aber jetzt - die eigentliche Frage:

Wie kann ich alle User einer Gruppe mitsamt Homeverzeichnis löschen? Gibt's da irgendeinen Befehl oder ein Script für?

Hintergrund: Ich möchte alle User die sich in diesem Jahr angemeldet haben in eine Gruppe Namens "2014" packen. Im Jahr 2015 kommen aber neue User und die alten werden rigoros 'rausgeschmissen. Deswegen möchte ich einfach in der Shell sagen können: "loesche_alle_user_der_gruppe 2014" und alle User mitsamt Homeverzeichnissen und altem Datenmüll sollen weg sein!!! Was schlagt ihr vor?

Danke und Gruß, kuahmelcher
 

marce

Kaiser
Beiträge
1.297
wie sieht denn die Benuter-Verwaltung aus? An welchem Dienst müssen / können sich die Benutzer alle anmelden? Ist die Bernuzerverwaltung für alle Dienste einheitlich?
 

kuahmelcher

Grünschnabel
Beiträge
6
wie sieht denn die Benuter-Verwaltung aus? An welchem Dienst müssen / können sich die Benutzer alle anmelden? Ist die Bernuzerverwaltung für alle Dienste einheitlich?

Hei Marce,

Benutzerverwaltung??? Dienste? Also es handelt sich - ganz grob - um einen Samba-Server auf dem die User ihre Dateien (Übungsmaterialien) speichern können. Wenn die Übung vorbei ist soll alles wieder gelöscht werden. SOweit also eigentlich ganz einfach. ich müsste nur noch die Linux-User und die Samba-DB irgendwie synchronisieren. Aber momentan kriege ich nicht mal die Userverzeichnisse einfach gelöscht ... *humpfhumpf* Die Kiste soll mir Arbeit ABNEHMEN!!:)
 

marce

Kaiser
Beiträge
1.297
Um einen großen Denker zu zitieren: "Hm, knifflig."

Über Google findet man z.B. http://stackoverflow.com/questions/2835368/how-to-list-all-users-in-a-linux-group oder http://www.cyberciti.biz/faq/linux-list-all-members-of-a-group/ - und dann bräuchtest Du noch ein Script, daß über die Ergebnisliste drüber geht und die User löscht.

Ich würde das Problem anders angehen - und einfach das Home-VZ der User unterhalb eines Jahres-Ordners anlegen und dann einfach diesen Ordner komplett löschen, nachdem man alle User mit einem Home darunter gelöscht hat. Die wiederum findest Du ja einfach über den Verzeichnisnamen.

Einfacher könnte es gehen, wenn man nicht die Standard-Linux-Auth-Methode verwendet sondern das über etwas DB-basiertes macht - damit findet sich dann, ggf. über ein custom-field die Liste vermutlich einfacher...
 

kuahmelcher

Grünschnabel
Beiträge
6
Um einen großen Denker zu zitieren: "Hm, knifflig."

Über Google findet man z.B. http://stackoverflow.com/questions/2835368/how-to-list-all-users-in-a-linux-group oder http://www.cyberciti.biz/faq/linux-list-all-members-of-a-group/ - und dann bräuchtest Du noch ein Script, daß über die Ergebnisliste drüber geht und die User löscht.

Ich würde das Problem anders angehen - und einfach das Home-VZ der User unterhalb eines Jahres-Ordners anlegen und dann einfach diesen Ordner komplett löschen, nachdem man alle User mit einem Home darunter gelöscht hat. Die wiederum findest Du ja einfach über den Verzeichnisnamen.

Hm, das klingt vielversprechend. Damit könnte ich ganz nebenbei auch noch das (noch nicht erörterte) Problem von Namensgleichheiten umgehen.
Nur noch mal zur Sicherheit: Bei der Registrierung: Einlesen aller User am besten mit dem Befehl newusers und verteilen von Homeverzeichnissen à la /home/2014/mueller
Beim Löschen der User: auslesen des Verzeichnisses /home/2014/ und deluser mit jedem einzelnen Verzeichnisnamen. Anschließend:
Code:
rm -r /home/2014/
Das war's eigentlich - oder? Damit brauche ich die Gruppen auch nicht mehr.

Aber wie könnte ich die Verzeichnisnamen auslesen und als usernamen löschen?
ich habe mal 'n bisschen 'rumprobiert - mit
Code:
find /home/ -printf "%f\n" -maxdepth 1

findet man die Verzeichnisnamen ohne Pfad heraus - aber wie lösche ich die User mit dem gleichen Namen??

Danke und Gruß, kuahmelcher
 

kuahmelcher

Grünschnabel
Beiträge
6
Huch! Was ist denn JETZT los? Was habe ich denn jetzt schlimmes geschrieben? Ein Admin muss jetzt meinen Beitrag freischalten??! ?(
 

marce

Kaiser
Beiträge
1.297
"Frischer User mit wenigen Beitägen" - und evtl. hat Dein Posting z.B. mehr als 2 Links drin? Da ist bei vielen Forensystemen zur Spam-Abwehr ein Filter drin...
 

kuahmelcher

Grünschnabel
Beiträge
6
Frischer User? Ja. Wenig Beiträge? Ja. Links? Kein einziger ... Na ich warte mal ab. Ich bin mir keiner Schuld bewusst. Scheint aber ein sehr strenger Filter zu sein.

Gruß, kuahmelcher
 

marce

Kaiser
Beiträge
1.297
Links? Die beiden im Fullquote :-)

Zu dem "find-Problem" - man find sagt kennt exec. Oder Schleife drumrum und ggf. noch ein wenig mehr testen können.
 
Oben