Wie ändere ich den Besitzer in einen aktuellen Benutzer in einem Ordner, der Ordner in meinem Ausgangsverzeichnis enthält?
12
Mit habe sudo nautilusich einige Ordner erstellt und möchte die Root-Berechtigung für sie entfernen. Aber ich habe viele und ich möchte es mit einem ganzen Verzeichnis und seinen enthaltenden Ordnern machen.
Wie kann man dem aktuellen Benutzer das Lesen / Schreiben aller Dateien und Ordner in einem bestimmten Verzeichnis erlauben, das sich zu Hause befindet?
Um den mit sudo nautilusIhnen verursachten Schaden rückgängig zu machen, sollten Sie sich zum Eigentümer aller Verzeichnisse (und ihrer Inhalte) machen, die root gehören.
Sie können finddies verwenden, da ein Test durchgeführt wird, um nur Dateien zu finden, die einem bestimmten Benutzer gehören.
Dadurch finden Sie alle Verzeichnisse in Ihrem Haus, die root gehören:
sudo find ~ -type d -user root
Anschließend können Sie den findBefehl wiederholen und die gewünschte Aktion hinzufügen. So können Sie den Besitz aller gefundenen Verzeichnisse und deren Inhalte rekursiv auf den aktuellen Benutzer ändern:
-exec Führen Sie den folgenden Befehl für alles aus, was gefunden wurde
sudo chown -R Besitzer rekursiv wechseln
$USER der aktuelle Benutzer
: Ändern Sie auch die Gruppe für den jeweiligen Benutzer
Effizienter, könnten Sie die weglassen -type dDateien jeglicher Art zu root gehören , zu finden, und lassen auch die -Rals finddurch Einwirken auf alle Dateien , die Rekursion für Sie tun
Sie müssen Ihr findwith sudo( sudo find ...) rootausführen , um eigene Unterverzeichnisse mit 0700Schutzfunktionen und alles darunter zu überprüfen . Das Gleiche gilt für die Reparatur.
Waltinator
"gegen das verteidigen, was wahrscheinlich ist" oder "gegen das verteidigen, was möglich ist"? Deine Entscheidung.
Waltinator
@ Waltinator sicher :) Danke, dass du es erwähnt hast, damit ich mich verbessern kann. Ich versuche nur, es nicht zu benutzen, sudobis es gebraucht wird
Zanna
10
Ausführen von GUI-Tools, wie sie unter anderem aus diesem Grund nautilusals rootschädlich angesehen werden (versteckte Funktionen, Fähigkeit, Programmfragmente lautlos auszuführen, von wem weiß wo, ...).
Sie haben kein "Berechtigungs" -Problem, Sie haben ein "Besitz" -Problem.
rootGehen Sie wie folgt vor, um alle Dateien zu finden, die Eigentum von (wirklich Eigentum von anderen) sind:
sudo find $HOME \! -user $USER
Um das Eigentum wieder an Sie zu ändern, könnten Sie
sudo chown -R $(id -u):$(id -g) $HOME
Dies ändert jedoch den Besitz aller Dateien in und unter $HOME
sudo find $HOME \! -user $USER >/tmp/list-of-files
# edit the list of files, and delete file files you don't want to chown
nano /tmp/list-of-files
xargs sudo chown $(id -u):$(id -g) </tmp/list-of-files
Bietet einem die Möglichkeit, die Liste der Dateien, die nicht Ihnen gehören, anzupassen, deren Eigentümer wieder auf Sie übertragen werden.
Sie müssen lediglich den Besitz des Ordners vom Benutzer- (und Gruppen-) Stammverzeichnis auf den anderen Benutzer (und die Gruppe) ändern, die Sie möchten.
Stellen Sie sich vor, Sie möchten an / home / randomFolder arbeiten und der Benutzer, für den Sie den Besitz übernehmen möchten , ist vitor-abella . Sie müssen dies einfach als root ausführen:
find
withsudo
(sudo find ...
)root
ausführen , um eigene Unterverzeichnisse mit0700
Schutzfunktionen und alles darunter zu überprüfen . Das Gleiche gilt für die Reparatur.sudo
bis es gebraucht wirdAusführen von GUI-Tools, wie sie unter anderem aus diesem Grund
nautilus
alsroot
schädlich angesehen werden (versteckte Funktionen, Fähigkeit, Programmfragmente lautlos auszuführen, von wem weiß wo, ...).Sie haben kein "Berechtigungs" -Problem, Sie haben ein "Besitz" -Problem.
root
Gehen Sie wie folgt vor, um alle Dateien zu finden, die Eigentum von (wirklich Eigentum von anderen) sind:Um das Eigentum wieder an Sie zu ändern, könnten Sie
Dies ändert jedoch den Besitz aller Dateien in und unter
$HOME
Bietet einem die Möglichkeit, die Liste der Dateien, die nicht Ihnen gehören, anzupassen, deren Eigentümer wieder auf Sie übertragen werden.
quelle
Sie müssen lediglich den Besitz des Ordners vom Benutzer- (und Gruppen-) Stammverzeichnis auf den anderen Benutzer (und die Gruppe) ändern, die Sie möchten.
Stellen Sie sich vor, Sie möchten an / home / randomFolder arbeiten und der Benutzer, für den Sie den Besitz übernehmen möchten , ist vitor-abella . Sie müssen dies einfach als root ausführen:
Es kann eine Weile dauern, wenn viele Dateien und Unterordner vorhanden sind, aber danach sollten Sie auf dem richtigen Weg sein.
Prost.
quelle
$(id -u):$(id -g)
, anstatt OP zu bitten, sich vorzustellen, und$HOME/randomFolder
.