Die Verwaltung von Eigentumsrechten und Dateiberechtigungen ist wahrscheinlich die wichtigste Aufgabe eines Systemadministrators. In jedem Mehrbenutzer-Betriebssystem wie Linux ist die ordnungsgemäße Zuweisung des Besitzes von Dateien und Verzeichnissen von entscheidender Bedeutung.
Der Befehl chown ist hierfür das hilfreichste Werkzeug. Nicht zu verwechseln mit chmod : chown kann den Benutzerbesitz von Dateien ändern und sie verschiedenen Gruppen zuweisen. Es ist ein wesentlicher Befehl, den jeder ernsthafte Linux-Benutzer beherrschen muss.
Hier ist eine Anleitung, die Ihnen den Einstieg erleichtert.
Wie überprüfen Sie den Besitz einer Datei?
Bevor Sie damit beginnen, Dateien zwischen verschiedenen Eigentümern und Gruppen zu verschieben, sollten Sie zunächst lernen, wie Sie den aktuellen Eigentümer einer Datei überprüfen. Der Vorgang ist einfach: Durch das Hinzufügen eines -l-Flags zu einem regulären ls-Befehl werden Eigentumsinformationen der abgefragten Datei oder des abgefragten Verzeichnisses hinzugefügt.
Angenommen, Sie haben eine Datei namens example.txt. So sieht der Befehl zum Anzeigen der Eigentumsinformationen aus:
ls -l example.txt
Chown für eine einzelne Datei verwenden
Der einfachste Weg, chown zu verwenden, besteht darin, den Benutzer zu ändern, dem eine bestimmte Datei gehört. Die Syntax lautet sudo chown Benutzername Dateiname, wobei Benutzername der Name des Benutzers ist, dem Sie die Datei geben möchten, und Dateiname der Name der betreffenden Datei. So sieht es in der Praxis aus:
sudo chown someone_else example.txt
Beachten Sie, dass sich dadurch nicht der Gruppeneigentum an den Dateien ändert, sondern nur der Benutzer. Um den Gruppenbesitzer zu ändern, müssen Sie eine andere Syntax verwenden – sudo chown :groupname filename
In diesem speziellen Fall wird dies zu:
sudo chown :group2 example.txt
Sie können auch beide Befehle in einer einzigen Zeile kombinieren, um den Benutzer- und Gruppenbesitz einer Datei zu ändern:
sudo chown me:group1 example.txt
Eigentümer mehrerer Dateien mit Chown ändern
Das Ändern des Besitzers jeder Datei einzeln ist ziemlich mühsam, wenn es um eine größere Anzahl von Dateien geht. Glücklicherweise können Sie mit die meisten Linux-Befehle mehrere durch Leerzeichen getrennte Dateinamen in einem einzigen Befehl verketten. So:
sudo chown someone_else:group2 example1.txt example2.txt.
Verwenden Sie denselben Trick auch, um den Besitz mehrerer Dateien zu überprüfen:
ls -l example1.txt example2.txt
Selbst wenn mehrere Dateinamen in einem einzigen Befehl kombiniert werden, ist der Vorgang für mehr als ein paar Dateien zu umständlich. Ein besserer Ansatz besteht darin, den Besitz des gesamten Inhalts eines Verzeichnisses auf einmal zu ändern.
Dies wird erreicht, indem dem Befehl chown ein Flag -R hinzugefügt wird. Dadurch durchsucht chown den Inhalt des Verzeichnisses und ändert rekursiv den Besitz jeder darin enthaltenen Datei. Hier ist eine Demonstration:
sudo chown -R someone_else:group2-Beispiele
Wir können das rekursive Flag erneut verwenden, um den Besitz der Dateien im Beispielordner zu überprüfen.
ls -l -R Beispiele
Dateieigentum mit UID ändern
Systemadministratoren, die viele Benutzer verwalten, werden es schnell leid sein, immer wieder Benutzernamen einzugeben. Ein einziger Tippfehler in einem der Namen führt zu einem Fehler bei der Verwendung von chown und verlangsamt die Arbeit erheblich.
Eine bessere Alternative ist die Verwendung der Benutzer-ID. Die UID ist eine vierstellige Nummer, die jedem erstellten Benutzer zugewiesen wird, beginnend bei 1000 und aufsteigend. Dies ist viel einfacher einzugeben als eine Zeichenfolge und viel weniger fehleranfällig.
Um diese Methode zu verwenden, ersetzen Sie einfach den Benutzernamen durch die UID:
sudo chown 1001 example.txt
Wenn Sie die UID eines Benutzers nicht kennen, können Sie diese schnell mit dem Befehl id überprüfen. Geben Sie einfachid -u Benutzernameein, um die eindeutige ID dieses Benutzers anzuzeigen.
Diese Methode kann auch auf Gruppennamen erweitert werden. Um die UID der Anmeldegruppe eines Benutzers und anderer Gruppen, denen er angehört, abzurufen, verwenden Sie den Befehl id ohne das Flag -u.
id someone_else
Wie Sie sehen können, haben wir verschiedene Gruppen-IDs, zu denen der angegebene Benutzer gehört. Alles in allem können wir chown wie folgt verwenden, um einen neuen Eigentümer zuzuweisen und die Gruppe einer Datei zu ändern:
sudo chown 1001:1003 example.txt
Was können Sie sonst noch mit dem Befehl chown tun?
Wir haben bereits die meisten gängigen Verwendungsmöglichkeiten von chown demonstriert. Sie können jetzt Benutzer und Gruppen, denen eine Datei gehört, auf verschiedene Weise ändern. Aber das ist nicht die vollständige Grenze der Fähigkeiten des Kommandos..
Eine technische Beschreibung und eine vollständige Liste der Argumente, die Sie mit dem Befehl verwenden können, finden Sie auf den offiziellen Manpages. Geben Sie einfach man chown im Terminal ein, um es anzuzeigen.
Ist Chown nützlich?
Wenn Sie der einzige Benutzer Ihres Computers sind, müssen Sie chown nie verwenden. Wenn Sie jedoch ein Linux-System im professionellen Umfeld nutzen, sei es ein kommerzieller Server oder ein Universitätsrechner, dann ist die Beherrschung des Befehls chown (zusätzlich zu chmod ) von größter Bedeutung.
Die Möglichkeit, Dateien Benutzern und Gruppen zuzuweisen und zu entfernen, ist für die Einhaltung strenger Grenzen in Mehrbenutzersystemen von entscheidender Bedeutung. Das Beste an chown ist seine Flexibilität – Sie können mit demselben Befehl mit einzelnen Dateien oder ganzen Verzeichnissen arbeiten.
Sie können Benutzern und Gruppen auch separat und in einer kombinierten Anweisung Eigentumsrechte zuweisen. In Verbindung mit den komfortableren UIDs wird die Handhabung selbst der komplexesten Benutzerhierarchien zum Kinderspiel.
.