Wie kann ich root (admin) Benutzer löschen, die dieselbe UID (0) wie root haben?

1

Dies ist meine Passwd-Datei:

root:x:0:0:root:/root:/bin/bash
m:x:0:100::/home/m:/bin/bash
masoudjjgh:x:1000:100:masoudjjgh:/home/masoudjjgh:/bin/bash

Ich versuche den Benutzer zu löschen m dass ich geschaffen bin:

[root@...]# userdel m
[root@...]# userdel: user m is currently used by process 1

Und wenn ich versuche, m mit diesem Befehl zu töten:

[root@...]# killall -KILL -u m

Desktop (kde), console und alles aufgeregt und logged mich automatisch aus. Alle Dinge schließen und ich muss login nochmal. userdel wird alle wieder schließen. Gibt es sowieso zu entfernen m?

Ich habe es erstellt, aber jetzt kann ich es nicht löschen.

mlibre
quelle

Antworten:

3
root:x:0:0:root:/root:/bin/bash  
m:x:0:100::/home/m:/bin/bash
[...]
# userdel: user m is currently used by process 1
# killall -KILL -u m

Prozesse und Dateien gehören tatsächlich den Benutzer-IDs, nicht den Benutzernamen. m und root haben die gleiche UID, so dass alles, was einem gehört, auch dem anderen gehört. Basierend auf Ihrer Beschreibung klingt es wie beides userdel und killall sah jeden Root-Prozess (UID 0) als zu diesem Benutzer "m" gehörend.

Gemäß Diese Beispiel-Manpage , userdel hat eine Option -f Entfernen des Kontos erzwingen, auch wenn es aktive Prozesse hat. Und userdel würde wahrscheinlich Löschen Sie einfach den passwd-Eintrag und das Ausgangsverzeichnis von m, ohne das eigentliche Root-Konto zu beeinflussen.

Um sicherer zu sein, neige ich möglicherweise dazu, die Kennwortdatei manuell zu bearbeiten, um den Eintrag für m zu entfernen, und dann das Ausgangsverzeichnis von m manuell zu entfernen. Möglicherweise haben Sie einen Befehl auf Ihrem System mit dem Namen vipw, mit dem Sie sicher bearbeiten können /etc/passwd in einem Texteditor.

Kenster
quelle
same UID sehr wichtiger Punkt, dass Sie es sehen. als ich m'UID ändern kann, starte neu und entferne dann m. Ja?
mlibre
Ja. Ich würde Kensters Vorschlag erweitern und sagen: Bearbeiten Sie die Passwortdatei manuell wechseln m 's UID auf eine Nummer, die von keinem anderen Benutzer verwendet wird und dann tun userdel m. Ein Neustart sollte nicht erforderlich sein.
G-Man
2

Löschen Sie die Zeilen in Ihren passwd- und shadow-Dateien in Ihrem / etc-Verzeichnis zuerst manuell. Sie können dann das Home-Verzeichnis für dieses Benutzerkonto rm -fR. (m in deinem Beispiel)

Zusätzliche Dateien müssen noch entfernt werden. Zum Beispiel:

/ var / spool / mail / m

Dies ist ein sehr chirurgischer Ansatz, wenn sich der Benutzer weigert, zu arbeiten.

Jeff Clayton
quelle
tnx seine Arbeit. aber vielleicht ein paar sachen nicht löschen.
mlibre
tnx. Sehr gute Kommandos. Ich versuche es und sehe sehr gute Dateien, die gelöscht werden müssen.
mlibre
find / -user m ist hier wirklich fraglich. Dieser "m" -Benutzer hat die UID 0, die auch die UID von root ist. Es gibt also keinen Unterschied zwischen Dateien im Besitz von "m" und Dateien im Besitz von "root".
Kenster
2

Ändern Sie in der Datei / etc / passwd die Benutzer-ID des Benutzers, den Sie löschen möchten, in eine andere als 0. Versuchen Sie dann, einen Benutzer zu erstellen.

Quelle: http://www.shellhacks.com/de/HowTo-Create-USER-with-ROOT-Privileges-in-Linux

Sindhu S
quelle
Dies entspricht im Wesentlichen dem Entfernen dieser Zeile aus der passwd-Datei. Sie lösen den Benutzer effektiv von allem, was ihm gehört, und hinterlassen alle Überreste.
Dan
1

Es wird Ihnen ein Problem bereiten, da einige Probleme root.root zum Laufen benötigen. Ich habe einen besseren Vorschlag:

  1. Importieren Sie ein Konto in /etc/suders wie:

    youraccount   ALL=(ALL) ALL
    
  2. Ändern Sie den root-Benutzer als /bin/false als nicht angemeldeter Benutzer.
PersianGulf
quelle
+1 Gute Antwort, obwohl die gestellte Frage nicht beantwortet wurde: Wie lösche ich einen Root-Benutzer?
Jeff Clayton
tnx mohsen. von jeff'command (find -user *) finde ich genau die dateien, die ich sehen muss und lösche vielleicht manulay!
mlibre