Linux: Befehl chown funktioniert nicht (mehr)

Hallo,

Ich habe mal was völlig dämliches gemacht. Ich bin gerade dabei, von einem alten Linux-PC auf einen neuen ein paar Sachen umzuziehen. Dabei muss ich auch ein paar Dateien in Verzeichnisse umziehen, die dem Benutzer root gehören. Weil ich mich beim eintippen der Konsole-Befehle immer vertippt habe und ein Kopieren über den Dateimanager am Besitzrecht des Zielverzeichnisses scheiterte, habe ich den wundervollen Befehl chown entdeckt und schwuppdiwupp etc an den Benutzer paul übertragen. Schon funktionierte das Kopieren bestens.

Doch jetzt funktionieren Befehle wie sudo nicht mehr, weil auch sie auf Dateien im etc zugreifen, und jetzt bemängeln, dass nicht mehr root der Besitzer ist.

Ein Zurückändern per Konsole scheitert immer (Vorgang nicht zulässig). Bei Ubuntu wird der Superuser su Unterdrückt, sodass man auch darüber nichts reißen kann. Habe ich noch eine andere Möglichkeit, als Ubuntu durch Neuinstallation neu zu „resetten“?

Ja, ich weiß, war dämlich. Ist aber das erste mal, das ich einen Linux-PC neu fertig mache und bisher steckt nur wenig Arbeit drin.

Vielen Dank
Pierre

Hallo,

$ pkexec bash

probiert?

1 Like

Du kannst in ein „Rettungssystem“ booten und von da aus derartige Dinge reparieren.

Das Bordeigene Rettungssystem sollte nach Deinen Unfällen noch funktionieren. Dann /etc mounten und die Rechte beheben.

HTH,

Sebastian

2 Like

Hi!

Ich… verstehe das Problem nicht ganz. Vielleicht ist Ubuntu da auch anders drauf als OpenSuse

Hier habe ich den Ordner etc , den ich zum Spielen nach ~/test kopiert habe:

sweber@linux:~/test> ll
insgesamt 12
drwxr-xr-x 133 root root 12288 25. Aug 20:06 etc

Jetzt mache ich mich selbst zum Besitzer:

sweber@linux:~/test> sudo chown sweber etc
sweber@linux:~/test> ll
insgesamt 12
drwxr-xr-x 133 sweber root 12288 25. Aug 20:06 etc

Und jetzt wieder zurück an root:

sweber@linux:~/test> sudo chown root etc
sweber@linux:~/test> ll
insgesamt 12
drwxr-xr-x 133 root root 12288 25. Aug 20:06 etc

Das funktioniert auch, wenn ich einen anderen Benutzer als Besitzer angebe.


Allerdings gibt es andere Fallstricke: Falls der Ordner kopiert wird, gehören die Kopie und alle Dateien darin dem kopierenden Benutzer und seiner Gruppe.
Zwar kann man mit -R beides wieder rekursiv auf root ändern:

sweber@linux:~/test> sudo chown -R root etc
sweber@linux:~/test> sudo chgrp -R root etc

allerdings finde ich in meinem /etc auch Dateien und Ordner, die nicht root/root gehören. Alles, was mit mySQL zu tun hat, gehört zwar root, aber der Gruppe mysql. Und VNC hat nen Ordner mit Benutzer und Gruppe vnc
Da kann es dann eben sein, dass VNC nicht mehr funktioniert, weil da die Rechte nicht mehr stimmen…

Ich habe es noch nicht mit anderen Ordnern getestet. Aber wenn Du etc mit chown behandelst (mit der Option -R, damit alle untergeordneten Dateien und Verzeichnisse gleichartig behandelt werden), funktioniert sudo nicht mehr. Damit funktioniert das Ändern des Besitzers nicht mehr. Trick 17 mit Selbstüberlistung nannte es mein Lehrmeister sowas …

/etc/ darf nur root gehören und nicht irgendeinem Benutzer. Wenn er erst einmal an einen nicht-privilegierten Nutzer vergeben wurde ich essig, da manche Funktionen dann offenbar meckern …

Bei deinem ~/test Verzeichnis ist das alles kein Problem, da es keine besonderen Funktionen hat, ganz im Gegensatz zu /etc

Sebastian

2 Like

Ah, ok.

In meiner VM hab ich das grade mal ausprobiert, es war aber auch kein problem mit dem „echten“ /etc. Allerdings sieht das wohl anders aus, wenn man dazwischen irgendwas anderes macht…

Das habe ich heute getan. Der Tipp war Gold wert! Danke. Damit konnte ich das Verzeichnis „/etc“ wieder an root übergeben.

Das funktionierte nicht ganz so wie ich es mir erhofft habe.

Letzten Endes habe ich dann doch nochmal Ubuntu frisch drüber gebügelt, weil ich in Kette schon zu viel verstellt hatte und mir natürlich keine Notizen gemacht habe, was ich alles geändert habe. :sunglasses: Ich betrachte das mal sportlich als Lehrstunde…

Trotzdem danke für die Hilfe
Pierre

1 Like

nett. Nun weiß ich auch mal wofür man das braucht. Habe bisher meist mit su gearbeitet.

Danke und VG,
J~