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.

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.


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.


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


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.

+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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.