[gelöst] Alle Benutzer einer Gruppe samt Homeordner löschen?
-
- Beiträge: 34
- Registriert: 08.04.2014 17:06:40
[gelöst] Alle Benutzer einer Gruppe samt Homeordner löschen?
... geht sowas?
Wichtig wäre dabei, dass ich die User nicht einzeln benennen möchte. Mit einem Befehl (oder vielleicht einem Script) sollen alle weg sein!!!
Danke und Gruß,
kuahmelcher
Wichtig wäre dabei, dass ich die User nicht einzeln benennen möchte. Mit einem Befehl (oder vielleicht einem Script) sollen alle weg sein!!!
Danke und Gruß,
kuahmelcher
Zuletzt geändert von kuahmelcher am 28.08.2014 19:29:34, insgesamt 1-mal geändert.
Re: Alle Benutzer einer Gruppe samt Homeordner löschen?
* sollte dabei dein Freund sein. In Worten: Platzhalter.
-
- Beiträge: 34
- Registriert: 08.04.2014 17:06:40
Re: Alle Benutzer einer Gruppe samt Homeordner löschen?
Hei reba,reba hat geschrieben:* sollte dabei dein Freund sein. In Worten: Platzhalter.
könntest du mir noch 'n klitzekleinen Hinweis geben wie du das meinst?
Meinst du sowas wie
Da fehlt doch IMHO die Gruppe?!deluser -r *
Danke udn Gruß, kuahmelcher
Re: Alle Benutzer einer Gruppe samt Homeordner löschen?
Stimmt, da fehlt die Gruppe. Mit dem Befehl würdest du alle user löschen.
Du mußt dich wohl noch mit dem Rechte-System von Linux und mit regulären Ausdrücken beschäftigen.
Um es einfacher und sicherer zu machen, würde ich per script die Namen der User einlesen und sie per script löschen.
Ganz verstehe ich nicht, warum du das machen willst. Aber egal.
Der für dich geeignetere Befehl heißt. Mit dem läßt sich das dazugehörige home-Verzeichnis gleich mit löschen.
zeigt dir die Möglichkeiten dieses Befehls.
Du mußt dich wohl noch mit dem Rechte-System von Linux und mit regulären Ausdrücken beschäftigen.
Um es einfacher und sicherer zu machen, würde ich per script die Namen der User einlesen und sie per script löschen.
Ganz verstehe ich nicht, warum du das machen willst. Aber egal.
Der für dich geeignetere Befehl heißt
Code: Alles auswählen
userdel
Code: Alles auswählen
man userdel
Zuletzt geändert von reba am 19.08.2014 19:53:52, insgesamt 1-mal geändert.
-
- Beiträge: 34
- Registriert: 08.04.2014 17:06:40
Re: Alle Benutzer einer Gruppe samt Homeordner löschen?
Wir sind alle nur Lernende!reba hat geschrieben:Stimmt, da fehlt die Gruppe. Mit dem Befehl würdest du alle user löschen.
Du mußt dich wohl noch mit dem Rechte-System von Linux und mit regulären Ausdrücken beschäftigen.
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!!!reba hat geschrieben:Um es einfacher und sicherer zu machen, würde ich per script die Namen der User einlesen und sie per script löschen.
Ganz verstehe ich nicht, warum du das machen willst.
Hast du vielleicht eine andere/bessere Idee?
Danke udn Gruß, kuahmelcher
Re: Alle Benutzer einer Gruppe samt Homeordner löschen?
Hatte ich schon im vorherigen Post ergänzt.kuahmelcher hat geschrieben:
Hast du vielleicht eine andere/bessere Idee?
Danke udn Gruß, kuahmelcher
-
- Beiträge: 34
- Registriert: 08.04.2014 17:06:40
Re: Alle Benutzer einer Gruppe samt Homeordner löschen?
Oh, das hat sich irgendwie überschnitten. Ich kenne den Befehl userdel. ABER: Da muss ich ja jeden User einzeln löschen. Das soll automatisch gehen. Am liebsten wäre mir eigentlich, dass die User mit Ablaufdatum anlegen könnte. Ich weiß auch hier, dass der Befehlreba hat geschrieben:Hatte ich schon im vorherigen Post ergänzt.kuahmelcher hat geschrieben:
Hast du vielleicht eine andere/bessere Idee?
Danke udn Gruß, kuahmelcher
Code: Alles auswählen
usermod -e
Gut wäre auch ein Befehl, mit dem ich alle deaktivierten User löschen könnte ...
Danke udn Gruß, kuahmelcher
Re: Alle Benutzer einer Gruppe samt Homeordner löschen?
Schön, das du den Befehl userdel kennst, aber ich hatte vorgeschlagen.
Wenn du dann noch die manpage anschaust, sollte alles geklärt sein.
Code: Alles auswählen
deluser
Wenn du dann noch die manpage
Code: Alles auswählen
man deluser
-
- Beiträge: 34
- Registriert: 08.04.2014 17:06:40
Re: Alle Benutzer einer Gruppe samt Homeordner löschen?
Ich will nicht gleich zu Anfang naseweis 'rüberkommen - aber das stimmt nicht Egal. Ich habe jetzt beide Manpages gelesen (deluser und userdel) aber ich blick's trotzdem nicht. User löschen, Gruppe löschen, Homedir löschen, nicht löschen, backup alles klar. Aber das ist ja nicht die Lösung oder ich sehe den Wald vor lauter Bäumen nicht. Es sollen ALLE User einer bestimmten Gruppe mitsamt ihrer Home-Verzeichnisse gelöscht werden ...reba hat geschrieben:Schön, das du den Befehl userdel kennst, aber ich hattevorgeschlagen.Code: Alles auswählen
deluser
WAS meinst du genau mit es "sollte alles geklärt sein"?
Danke und Gruß,
kuahmelcher.
Re: Alle Benutzer einer Gruppe samt Homeordner löschen?
Aus :
Code: Alles auswählen
man deluser
BESCHREIBUNG
Deluser und Delgroup entfernen Benutzer und Gruppen aus dem System. Ihr
Vorgehen richtet sich nach den auf der Befehlszeile übergebenen Optio‐
nen und Konfigurationsinformationen
-
- Beiträge: 34
- Registriert: 08.04.2014 17:06:40
Re: Alle Benutzer einer Gruppe samt Homeordner löschen?
Nochmal das Problem:reba hat geschrieben:Aus:Code: Alles auswählen
man deluser
BESCHREIBUNG
Deluser und Delgroup entfernen Benutzer und Gruppen aus dem System. Ihr
Vorgehen richtet sich nach den auf der Befehlszeile übergebenen Optio‐
nen und Konfigurationsinformationen
Ich frage nach einem Befehl der eine Gruppe löscht und damit automatisch alle in ihr enthaltenen User nebst deren Homeverzeichnissen.
deluser löscht user (auch mit Homeverzeichnissen) und mit der Option --group eine Gruppe (das gleiche gilt für delgroup). Aber nur weil ich eine Gruppe lösche sind doch nicht alle darin enthaltenen User weg. Die sind noch da und noch viel schlimmer: deren Homeverzeichnisse auch - DAS ist das Problem!!! ALso mit deluser und userdel scheint's nicht zu gehen. Ich muss scheinbar ein Script basteln.
Danke und Gruß,
kuahmelcher
Re: Alle Benutzer einer Gruppe samt Homeordner löschen?
bau dir ein script...
grep users /etc/group
listet dir die user der gruppe users
aber vorsicht...
listet auch z.b. vboxusers
googel findet das hier...
http://serversupportforum.de/forum/perl ... schen.html
grep users /etc/group
listet dir die user der gruppe users
aber vorsicht...
listet auch z.b. vboxusers
googel findet das hier...
http://serversupportforum.de/forum/perl ... schen.html
Re: Alle Benutzer einer Gruppe samt Homeordner löschen?
Alle Benutzer der Gruppe audio löschen:
Code: Alles auswählen
for i in $(grep "^audio:" /etc/group | cut -d':' -f4 | sed s/,/\ /g); do echo "userdel -r $i"; done
-
- Beiträge: 34
- Registriert: 08.04.2014 17:06:40
Re: Alle Benutzer einer Gruppe samt Homeordner löschen?
Also: VIIIIEEELEN Dank für die Hilfe - ich habe mein Problem dadurch lösen können. Allerdings lösche ich jetzt nicht eine Gruppe sonden alle User, deren Verfallsdatum erreicht ist. Das kann ich nämlich via cron täglich einmal aufrufen und muss mich nicht mehr drum kümmern. Verbesserungsvorschläge sind herzlich willkommen. Es geht mit Sicherheit viel kürzer und eleganter, aber so funktioniert es:Hosi hat geschrieben:Alle Benutzer der Gruppe audio löschen:Code: Alles auswählen
for i in $(grep "^audio:" /etc/group | cut -d':' -f4 | sed s/,/\ /g); do echo "userdel -r $i"; done
Code: Alles auswählen
#!/bin/bash
for i in $(cat /etc/shadow | cut -d':' -f1,8 | sed s/,/\ /g);
do
# ************************************
# Anlegen von verschiedenen Variablen:
# ************************************
verfallsdatum=$(echo "$i" | cut -d':' -f2);
delinquent=$(echo "$i" | cut -d':' -f1);
zeit=$(date +%s);
tage=$[$zeit/86400];
# ************************************
# hat der User ein Verfallsdatum?
# ************************************
if [ $verfallsdatum ]
then
# ************************************
# wenn das Verfallsdatum abgelaufen ist:
# ************************************
if [[ $tage -gt $verfallsdatum ]]
then
echo "Die Zeit für den User $delinquent ist um!!"
userdel -r $delinquent
fi
fi
done