ForumProblem mit der Änderung der root-UID
Jannis Wiese – Freitag, 08. April 2005 21:00 Uhr

Tag zusammen !
Ich habe folgendes Problem:
Da ich mich als root auf meinem debian sarge nicht über kdm einloggen konnte , habe ich nicht so ganz nachgedacht und kurzerhand die UID vom root von 0 auf 999 gesetzt. Jetzt hab ich aber gemerkt, dass der root nun irgendwie nicht mehr root ist, soll heissen, dass ich praktisch jetzt nen normalen Benutzer mit dem Namen root habe. Alles, wofür man den root überhaupt braucht (dselect, apt-get etc.) lässt sich nicht mehr machen.
Kann man das irgendwie rückgänig machen ? Ich habe schon ziemlich viel rumgefuckelt, aber jedesmal ist es daran gescheitert, dass die UID nicht mehr 0 ist.
Ich hoffe hier kann mir jemand helfen, danke im Voraus !

MfG
Jannis Wiese

4 Antworten
Jan Kandziora – Freitag, 08. April 2005 22:14 Uhr

Wie der root heißt, ist völlig egal, er muss(!) aber die User-ID Null haben. Mann kann also auch mehrere Root-Accounts mit unterschiedlichen Kennworten haben.

Du wirst wohl mit einem Rettungssystem von CD booten, deine /-Partition rw mounten und dann die Änderung an /etc/passwd und /etc/shadow rückgängig machen müssen.

Jan

Florian L. Klein – Samstag, 09. April 2005 00:13 Uhr

Gib beim Reboot die Kerneloption “init=/bin/sh” an. Dann wird als erster Prozess anstatt Init eine Shell gestartet, die mit UserID 0 läuft, egal wie Root tatsächlich heißt. Damit kann man /etc/passwd und /etc/shadow so editieren, dass Root wieder UID 0 bekommt.

Möglicherweise ist zu diesem Zeitpunkt das Rootfilesystem read-only gemountet, was sich aber leicht ändern lässt:

# mount -o remount,rw /

Dass sich am Filesystem diverse ehemals Root (UID 0) gehörenden Files umge0wn3d haben, nehme ich nicht an – im Dateisystem werden die UserIDs numerisch gespeichert, dort sollte nach wie vor 0 stehen.

/.
DocSnyder.

Tobias Hunger – Samstag, 09. April 2005 10:22 Uhr

Und nochmal: Es ist eine schlechte Idee, sich als Root in eine Desktopumgebung
einzuloggen! Root sollte nur die Programme, die auch wirklich die Root Rechte
brauchen starten. Dazu zählt sicherlich kein Webbrowser, Taskbar und 200
verschiedene Applets. Du kannst Dir als Root Dein System schneller verbiegen
als Dir lieb sein kann, also sei besser vorsichtig mit diesem Account.

Wenn Du Root-Rechte brauchst, dann kannst Du die jederzeit über su oder sudo
und kdesu bzw. gksu(?) bekommen, wenn Du als normaler User eingeloggt bist.

Ansonsten haben meine Vorredner ja schon alles gesagt.

Jannis Wiese – Samstag, 09. April 2005 11:13 Uhr

Das ist mir absolut klar. Aber ich meine, dass man als “grafisch eingeloggter root” besser einstellungen vornehmen kann. Dann braucht man nicht an jeder Ecke das Passwort wieder und wieder eintippen. Gerade in kcontrol.

Tobias Hunger – Samstag, 09. April 2005 12:26 Uhr

“kdesu kcontrol” startet das gesamte KDE Controlcenter als Root user.

Jannis Wiese – Samstag, 09. April 2005 12:44 Uhr

Gut, danke. Ich wusste bis jetzt noch nichts von einem solchen Programm, ich kannte nur su bzw. sudo.
Das Problem hab ich per Knoppix behoben, wie Jan Kandziora das meinte. Nur an der /etc/shadow hab ich nichts verändert, da hab ich nicht durchgeblickt.
Also danke nochmal !
MfG
Jannis

Tobias Hunger – Samstag, 09. April 2005 12:54 Uhr

kdesu ist ein grafisches Frontend zu su. Es setzt im Prinzip ein su ab und
kümmert sich drum, das der neue User auf Dein X-Display schreiben darf (und
nur der).

Ecaroh – Sonntag, 10. April 2005 20:55 Uhr

Hallo,

es ist durchaus moeglich sich aus als root graphisch am System anzumelden. Fragt mich gerade nicht wo die Option ist um das root-login freizuschalten, das vergesse ich immer mangels Notwendigkeit. Jedoch gebe ich allen recht das es sehr sinnvoll ist dies (vor allem allen unkundigen) Anwendern schwer zu machen.

Eine andere Moeglichkeit gibt es auch noch: Falls kdesu oder sudo zu kompliziert (oder mangels Paketen im Moment nicht moeglich ist) hilft auch der Login als root per SSH mit aktivierter X-Umleitung. D.h. Du loggst Dich als Sterblicher ein, oeffnest einen Terminal, und gibst folgendes ein:

$ ssh -X root@localhost

Die Option `-X’ sagt aus, das X-Anwendungen umgeleitet werden. Dadurch kannst Du eben mit SSH ebenso graphische Anwendungen auf das Display des Sterblichen lenken.

Danach wirst Du nach Deinem Root-Kennwort gefragt und bekommst eine Shell. Programme kannst Du dann unter der USER-ID root starten. Z.B.:

# kcontrol

oder

# kcontrol &

um das ganze in den Hintergrund zu bugsieren. Einen Haken hat die Sache. Jede Distribution (auch je nach Version) handhabt die Sicherheitseinstellung unterschiedlich. Frueher war ein `xhost+’ schon ausreichend, heutzutage ist die X-Umleitung auf diese Art und Weise meist (berechtigterweise) verboten. Eine X-Umleitung fuer den User root ist ggfls. unter `/etc/ssh/ssh_config’ mit der Aenderung der Zeile `ForwardX11 no’ auf ` ForwardX11 yes’ zu ermoeglichen (+ anschliessenden Neustart des SSH-Daemons).

Diese Variante hat gegenueber einem `sudo’ einen (meines Wissens nach, korrigiert mich wenn ich irre) entscheidenden Vorteil: sudo muss nicht erst muehselig konfiguriert werden, denn trivial ist die Einrichtung von sudo auch nicht. Und ich kann sofort beliebige Programme starten. Die Aenderung der `ForwardX11′ Zeile reicht.

Gruss, Ecaroh