[gelöst] Alle Benutzer einer Gruppe samt Homeordner löschen?

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
kuahmelcher
Beiträge: 34
Registriert: 08.04.2014 17:06:40

[gelöst] Alle Benutzer einer Gruppe samt Homeordner löschen?

Beitrag von kuahmelcher » 19.08.2014 18:19:35

... 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!!! :twisted:

Danke und Gruß,
kuahmelcher
Zuletzt geändert von kuahmelcher am 28.08.2014 19:29:34, insgesamt 1-mal geändert.

reba
Beiträge: 536
Registriert: 27.06.2011 08:59:37

Re: Alle Benutzer einer Gruppe samt Homeordner löschen?

Beitrag von reba » 19.08.2014 19:23:09

* sollte dabei dein Freund sein. In Worten: Platzhalter.

kuahmelcher
Beiträge: 34
Registriert: 08.04.2014 17:06:40

Re: Alle Benutzer einer Gruppe samt Homeordner löschen?

Beitrag von kuahmelcher » 19.08.2014 19:29:06

reba hat geschrieben:* sollte dabei dein Freund sein. In Worten: Platzhalter.
Hei reba,

könntest du mir noch 'n klitzekleinen Hinweis geben wie du das meinst?

Meinst du sowas wie
deluser -r *
Da fehlt doch IMHO die Gruppe?!

Danke udn Gruß, kuahmelcher

reba
Beiträge: 536
Registriert: 27.06.2011 08:59:37

Re: Alle Benutzer einer Gruppe samt Homeordner löschen?

Beitrag von reba » 19.08.2014 19:45:02

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

Code: Alles auswählen

userdel
. Mit dem läßt sich das dazugehörige home-Verzeichnis gleich mit löschen.

Code: Alles auswählen

man userdel
zeigt dir die Möglichkeiten dieses Befehls.
Zuletzt geändert von reba am 19.08.2014 19:53:52, insgesamt 1-mal geändert.

kuahmelcher
Beiträge: 34
Registriert: 08.04.2014 17:06:40

Re: Alle Benutzer einer Gruppe samt Homeordner löschen?

Beitrag von kuahmelcher » 19.08.2014 19:50:08

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.
:D Wir sind alle nur Lernende!
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.
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!!!

Hast du vielleicht eine andere/bessere Idee?

Danke udn Gruß, kuahmelcher

reba
Beiträge: 536
Registriert: 27.06.2011 08:59:37

Re: Alle Benutzer einer Gruppe samt Homeordner löschen?

Beitrag von reba » 19.08.2014 19:57:21

kuahmelcher hat geschrieben:
Hast du vielleicht eine andere/bessere Idee?

Danke udn Gruß, kuahmelcher
Hatte ich schon im vorherigen Post ergänzt.

kuahmelcher
Beiträge: 34
Registriert: 08.04.2014 17:06:40

Re: Alle Benutzer einer Gruppe samt Homeordner löschen?

Beitrag von kuahmelcher » 19.08.2014 20:12:31

reba hat geschrieben:
kuahmelcher hat geschrieben:
Hast du vielleicht eine andere/bessere Idee?

Danke udn Gruß, kuahmelcher
Hatte ich schon im vorherigen Post ergänzt.
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 Befehl

Code: Alles auswählen

usermod -e
ein Ablaufdatum definiert, nur leider wird der entsporechende User nur deaktiviert und nicht GELÖSCHT, das bedeutet der ganze Datenmüll bleibt auf der Platte.

Gut wäre auch ein Befehl, mit dem ich alle deaktivierten User löschen könnte ...

Danke udn Gruß, kuahmelcher

reba
Beiträge: 536
Registriert: 27.06.2011 08:59:37

Re: Alle Benutzer einer Gruppe samt Homeordner löschen?

Beitrag von reba » 19.08.2014 20:16:01

Schön, das du den Befehl userdel kennst, aber ich hatte

Code: Alles auswählen

deluser
vorgeschlagen.
Wenn du dann noch die manpage

Code: Alles auswählen

man deluser
anschaust, sollte alles geklärt sein.

kuahmelcher
Beiträge: 34
Registriert: 08.04.2014 17:06:40

Re: Alle Benutzer einer Gruppe samt Homeordner löschen?

Beitrag von kuahmelcher » 19.08.2014 20:38:27

reba hat geschrieben:Schön, das du den Befehl userdel kennst, aber ich hatte

Code: Alles auswählen

deluser
vorgeschlagen.
Ich will nicht gleich zu Anfang naseweis 'rüberkommen - aber das stimmt nicht :D 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 ...

WAS meinst du genau mit es "sollte alles geklärt sein"?

Danke und Gruß,

kuahmelcher.

reba
Beiträge: 536
Registriert: 27.06.2011 08:59:37

Re: Alle Benutzer einer Gruppe samt Homeordner löschen?

Beitrag von reba » 19.08.2014 20:56:34

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

kuahmelcher
Beiträge: 34
Registriert: 08.04.2014 17:06:40

Re: Alle Benutzer einer Gruppe samt Homeordner löschen?

Beitrag von kuahmelcher » 19.08.2014 21:17:45

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
Nochmal das Problem:
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

Benutzeravatar
Huck Fin
Beiträge: 1210
Registriert: 10.03.2008 17:10:30

Re: Alle Benutzer einer Gruppe samt Homeordner löschen?

Beitrag von Huck Fin » 19.08.2014 21:45:54

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

Benutzeravatar
Hosi
Beiträge: 226
Registriert: 17.03.2003 15:17:29

Re: Alle Benutzer einer Gruppe samt Homeordner löschen?

Beitrag von Hosi » 21.08.2014 19:20:54

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

kuahmelcher
Beiträge: 34
Registriert: 08.04.2014 17:06:40

Re: Alle Benutzer einer Gruppe samt Homeordner löschen?

Beitrag von kuahmelcher » 28.08.2014 19:24:20

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
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:

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

MfG, kuahmelcher

Antworten