So verwenden Sie den chown-Befehl unter Linux

Dateien und Verzeichnisse in Linux-Systemen gehören alle jemandem. Sie können ihren Besitz mit dem Befehl chown ändern. Wir zeigen Ihnen wie.

Jede Datei gehört einem Benutzer und einer Gruppe

Linux ist ein Mehrbenutzersystem. Das Betriebssystem ermöglicht die Definition mehrerer Benutzerkonten und die Anmeldung jedes gültigen Benutzers am Computer. Darüber hinaus können mehrere Benutzer gleichzeitig einen einzigen Computer verwenden.

Um zu dokumentieren, welche Dateien welchem ​​Benutzer gehören, und um eine gewisse Sicherheit zu gewährleisten, verwendet Linux das Konzept des Eigentums. Jede Datei gehört einem Eigentümer – einem Benutzer – und einer Gruppe.

Wenn eine Datei erstellt wird, ist ihr Besitzer der Benutzer, der sie erstellt hat. Die Gruppe, zu der die Datei gehört – die „besitzende“ Gruppe – ist die aktuelle Gruppe des Benutzers. Benutzer und Gruppen haben Namen, und sie haben auch numerische Identitäten, die als Benutzer- (oder eindeutige) Kennung (UID) und Gruppenkennung (GID) bezeichnet werden.

Wenn Sie eine Datei erstellen, gehört sie Ihnen und gehört zu Ihrer aktuellen Gruppe. Normalerweise ist dies die Gruppe, bei der Sie sich angemeldet haben. Standardmäßig ist dies eine Gruppe, die denselben Namen wie Ihr Benutzername hat und erstellt wurde, als Sie als Benutzer auf dem System erstellt wurden.

Sie können den Befehl chown verwenden, um die Besitzwerte in etwas anderes zu ändern. Sie können gleichzeitig einen neuen Besitzer, eine neue Gruppe oder einen neuen Besitzer und eine neue Gruppe festlegen. Der Eigentümer einer Datei kann den Gruppenbesitz ändern, aber nur root kann den Benutzerbesitz ändern, da dies einen anderen Benutzer betrifft. Ohne Root-Rechte können Sie einen anderen Benutzer des Systems nicht dazu bringen, unwissentlich eine Datei zu „übernehmen“.

  So installieren Sie Wire unter Linux

Warum möchten Sie den Eigentümer wechseln?

Hier sind einige Beispiele für Situationen, in denen Sie dies möglicherweise tun möchten:

Wenn Sie Dateien zwischen verschiedenen Linux- oder Unix-ähnlichen Betriebssystemen übertragen, müssen Sie die Benutzer- und Gruppenbesitzer in die neuen Benutzer- und Gruppenbesitzer des Kontos ändern, unter dem Sie die Dateien auf dem neuen Linux-Computer verwenden möchten.
Ein Benutzer kann Ihre Organisation verlassen, und für alle seine Dateien ist ein anderer Mitarbeiter verantwortlich. Sie müssen den Besitzer und den Gruppenbesitzer in den Mitarbeiter ändern, der jetzt für diese Dateien verantwortlich ist.
Sie können ein Skript erstellen, das von einem bestimmten Benutzer verwendet wird.
Sie können eine Datei oder ein Verzeichnis erstellen, das als Root angemeldet ist, aber einem bestimmten Benutzer zugänglich sein soll.

Anzeigen Ihrer Gruppen, UID und GID

Zu Liste die Gruppen auf Wenn Sie sich befinden, können Sie den Befehl „Gruppen“ verwenden.

groups

Um eine Liste der Gruppen zu erhalten, ihre numerischen IDs, und Ihre UID und GID, verwenden Sie den id-Befehl:

id

Sie können einige Optionen mit ID verwenden, um die Ausgabe zu verfeinern.

-u: Listen Sie Ihre UID auf.
-g: Listen Sie Ihre effektive (aktuelle) GID auf.
-nu: Listen Sie Ihren Benutzernamen auf.
-ng: Listen Sie Ihren aktuellen Gruppennamen auf.

id -u
id -g
id -nu
id -ng

Anzeigen des Benutzer- und Gruppenbesitzes einer Datei

Um die Eigentümer einer Datei oder eines Verzeichnisses anzuzeigen, verwenden Sie die Option -l (lange Auflistung) mit ls.

ls -l

Wir sehen, dass der Name dave zweimal in der Auflistung vorkommt. Die Darstellung ganz links sagt uns, dass der Dateibesitzer ein Benutzer namens dave ist. Das Dave ganz rechts sagt uns, dass die Datei zu einer Gruppe gehört, die auch Dave genannt wird.

  So richten Sie Systemd-Boot unter Arch Linux ein

Wenn ein Linux-Benutzer erstellt wird, wird er standardmäßig zu einer privaten Gruppe hinzugefügt, die nach seinem Benutzernamen benannt ist. Sie sind das einzige Mitglied dieser Gruppe.

Diese ausführbare Datei gehört dem Benutzer mary und die Gruppe, zu der die Datei gehört, ist Marys private Gruppe.

ls -l

Diese Datei gehört dem Benutzer oscar, aber die Gruppe, zu der die Datei gehört, heißt researchlab. Dies bedeutet, dass andere Mitglieder der researchlab-Gruppe auf diese Datei zugreifen können, gemäß den Dateiberechtigungen, die für die Mitglieder dieser Gruppe festgelegt wurden.

Ändern der Benutzereigentümerschaft

Lassen Sie uns einige Beispiele durcharbeiten. Dieser Befehl ändert den Benutzerbesitz der Datei while.c in den Benutzer mary.

sudo chown mary while.c

Wir können ls verwenden, um die Änderungen an den Dateieigenschaften anzuzeigen.

ls -l while.c

Mit chown können Sie den Besitz mehrerer Dateien gleichzeitig ändern.

sudo chown mary getval.c global.c goto.c

Dadurch ändert sich der Benutzerbesitz aller drei Dateien.

ls -l getval.c global.c goto.c

Sie können Platzhalter verwenden, um Dateigruppen auszuwählen. Dieser Befehl ändert den Benutzerbesitz aller Dateien, die mit dem Buchstaben „c“ beginnen.

sudo chown mary c*.*

Alle Dateien haben jetzt Mary als Besitzerin. Beachten Sie, dass keine der Gruppeneigentumsrechte geändert wurden.

ls -l mary c*.*

Lassen Sie uns den Besitz eines Verzeichnisses ändern. Anstelle eines Dateinamens übergeben wir einfach den Verzeichnisnamen an chown.

sudo chown mary ./archive/

Um die Eigentumseigenschaften des Verzeichnisses zu überprüfen, verwenden wir ls, verwenden aber auch die Option -d (Verzeichnis). Dies listet die Eigenschaften des Verzeichnisses auf, nicht die darin enthaltenen Dateien.

ls -l -d ./archive/

Um den Besitz aller Dateien in einem Verzeichnis zu ändern, können Sie die Option -R (rekursiv) verwenden. Diese Option ändert den Benutzerbesitz aller Dateien im Archivordner.

sudo chown -R mary ./archive/

Schauen wir uns nun die Dateien im Archivverzeichnis an.

ls -l ./archive/

Wie erwartet gehören jetzt alle Dateien Mary.

  So zeichnen Sie Skype-Anrufe unter Linux mit OpenBroadcaster auf

Gruppeneigentum ändern

Es gibt verschiedene Möglichkeiten, den Gruppenbesitz zu ändern.

Um die Gruppeneigentümerschaft gleichzeitig mit der Änderung der Benutzereigentümerschaft zu ändern, übergeben Sie den neuen Eigentümernamen und den neuen Gruppennamen mit einem Doppelpunkt „:“, um sie zu trennen. Die Gruppe muss bereits vorhanden sein.

sudo chown mary:researchlab charm.c

Der Benutzerbesitzer und die Gruppe, zu der die Datei gehört, wurden beide geändert.

ls -l charm.c

Eine Kurzform, um den Gruppenbesitz in die aktuelle Gruppe des neuen Besitzers zu ändern, geben Sie einfach den Doppelpunkt ein und lassen Sie den Gruppennamen weg.

sudo chown mary: caps.c

ls -l caps.c

Sowohl der Benutzerbesitz als auch der Gruppenbesitz wurden in Mary geändert.

Um nur den Gruppenbesitz zu ändern, stellen Sie ihm einen Doppelpunkt und lassen Sie den Benutzernamen weg. Der Benutzereigentümer wird nicht geändert.

sudo chown :researchlab at.c

ls -l at.c

Der Gruppenbesitz wurde geändert, aber der Benutzerbesitz bleibt gleich.

Chown mit UID- und GID-Werten verwenden

Sie können die numerischen UID- und GID-Werte mit dem Befehl chown verwenden. Dieser Befehl setzt den Benutzer und den Gruppenbesitz auf mary.

sudo chown 1001:1001 at.c

ls -l at.c

Besitz ist Neun Zehntel des Gesetzes

Sagen sie zumindest. Aber unter Linux ist der Besitz ein wesentlicher Bestandteil der Dateisicherheit, während die Dateiberechtigungen den Rest davon abdecken. Verwenden Sie die Befehle chown und chmod, um den Dateizugriff auf Ihrem System zu sichern.