GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Einführung in den Linux-Befehl chown

Jede Datei und jedes Verzeichnis auf einem Linux-System gehört jemandem, und der Eigentümer hat die vollständige Kontrolle darüber, die Dateien, die ihm gehören, zu ändern oder zu löschen. Zusätzlich zu einem besitzenden Benutzer , hat eine Datei eine besitzende Gruppe .

Sie können den Besitz einer Datei mit ls -l anzeigen Befehl:

[pablo@workstation Downloads]$ ls -l
insgesamt 2454732
-rw-r--r--. 1 pablo pablo 1934753792 25. Juli 18:49 Fedora-Workstation-Live-x86_64-30-1.2.iso

Die dritte und vierte Spalte der Ausgabe sind der besitzende Benutzer und die Gruppe, die zusammen als Besitz bezeichnet werden . Beide sind Pablo für die obige ISO-Datei.

Die Eigentumseinstellungen, festgelegt durch chmod steuern, wer Lese-, Schreib- oder Ausführungsaktionen ausführen darf. Mit chown können Sie den Besitzer (einen oder beide) ändern Befehl.

Häufig ist ein Eigentümerwechsel erforderlich. Dateien und Verzeichnisse können lange auf einem System existieren, aber Benutzer können kommen und gehen. Die Eigentumsrechte müssen möglicherweise auch geändert werden, wenn Dateien und Verzeichnisse innerhalb des Systems oder von einem System auf ein anderes verschoben werden.

Die Eigentümerschaft der Dateien und Verzeichnisse in meinem Home-Verzeichnis sind mein Benutzer und meine primäre Gruppe, dargestellt in der Form Benutzer:Gruppe . Angenommen, Susan verwaltet die Delta-Gruppe, die eine Datei namens mynotes bearbeiten muss . Sie können den chown verwenden Befehl, um den Benutzer in susan zu ändern und die Gruppe zu delta :

$ chown susan:delta mynotes
ls -l
-rw-rw-r--. 1 Susan Delta 0 Aug  1 12:04 mynotes

Sobald die Delta-Gruppe mit der Datei fertig ist, kann sie mir wieder zugewiesen werden:

$ chown alan mynotes
$ ls -l mynotes
-rw-rw-r--. 1 alan delta 0 Aug  1 12:04 mynotes

Sowohl der Benutzer als auch die Gruppe können mir wieder zugewiesen werden, indem ein Doppelpunkt angehängt wird (: ) an den Benutzer:

$ chown alan:mynotes
$ ls -l mynotes
-rw-rw-r--. 1 alan alan 0. August  1 12:04 mynotes

Indem Sie der Gruppe einen Doppelpunkt voranstellen, können Sie nur die Gruppe ändern. Jetzt Mitglieder der Gamma Gruppe kann die Datei bearbeiten:

$ chown :gamma mynotes
$ ls -l
-rw-rw-r--. 1 alan gamma 0. Aug  1 12:04 mynotes

Ein paar zusätzliche Argumente für chown können sowohl in der Befehlszeile als auch in einem Skript nützlich sein. Genau wie viele andere Linux-Befehle hat chown ein rekursives Argument (-R ), die den Befehl anweist, in das Verzeichnis abzusteigen, um alle darin enthaltenen Dateien zu bearbeiten. Ohne das -R -Flag ändern Sie nur die Berechtigungen des Ordners und lassen die darin enthaltenen Dateien unverändert. Nehmen Sie in diesem Beispiel an, dass die Absicht darin besteht, die Berechtigungen eines Verzeichnisses und seines gesamten Inhalts zu ändern. Hier habe ich das -v hinzugefügt (ausführliches) Argument, damit chown meldet, was es tut:

$ ls -l . conf
.:
drwxrwxr-x 2 alan alan 4096 Aug 5 15:33 conf

conf:
-rw-rw-r-- 1 alan alan 0 5. August 15:33 conf.xml

$ chown -vR susan:delta conf
Änderte den Besitz von "conf/conf.xml" von alan:alan zu  susan:delta
hat den Besitz von „conf“ von alan:alan zu  susan:delta
geändert

Abhängig von Ihrer Rolle müssen Sie möglicherweise sudo verwenden Eigentümer einer Datei zu ändern.

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Sie können eine Referenzdatei (--reference=RFILE ), wenn Sie den Eigentümer von Dateien ändern, um sie einer bestimmten Konfiguration anzupassen, oder wenn Sie den Eigentümer nicht kennen (wie dies der Fall sein kann, wenn Sie ein Skript ausführen). Sie können den Benutzer und die Gruppe einer anderen Datei duplizieren (RFILE , bekannt als Referenzdatei), um beispielsweise die oben vorgenommenen Änderungen rückgängig zu machen. Denken Sie daran, dass ein Punkt (. ) bezieht sich auf das aktuelle Arbeitsverzeichnis.

$ chown -vR --reference=. conf 

Änderungen melden

Die meisten Befehle haben Argumente zur Steuerung ihrer Ausgabe. Am gebräuchlichsten ist -v (--ausführlich ), um verbose zu aktivieren, aber chown hat auch ein -c (--Änderungen )-Argument, um Chown anzuweisen, nur zu melden, wenn eine Änderung vorgenommen wird. Chown meldet noch andere Dinge, z. B. wenn eine Operation nicht erlaubt ist.

Das Argument -f (--stumm , --leise ) wird verwendet, um die meisten Fehlermeldungen zu unterdrücken. Ich werde -f verwenden und das -c im nächsten Abschnitt, sodass nur tatsächliche Änderungen angezeigt werden.

Root beibehalten

Die Wurzel (/ ) des Linux-Dateisystems sollte mit großem Respekt behandelt werden. Wenn auf dieser Ebene ein Fehler gemacht wird, können die Folgen ein System völlig unbrauchbar machen. Besonders wenn Sie einen rekursiven Befehl ausführen, der Änderungen oder noch schlimmer:Löschungen vornimmt. Der Befehl chown hat ein Argument, das verwendet werden kann, um die Wurzel zu schützen und zu erhalten. Das Argument ist --preserve-root . Wenn dieses Argument mit einem rekursiven chown-Befehl auf der Wurzel verwendet wird, wird nichts getan und stattdessen eine Meldung angezeigt.

$ chown -cfR --preserve-root alan /
chown:Es ist gefährlich, rekursiv auf '/' zu arbeiten
chown:benutze --no-preserve-root, um diese Ausfallsicherheit zu überschreiben

Die Option hat keine Wirkung, wenn sie nicht zusammen mit --recursive verwendet wird . Wenn der Befehl jedoch vom Root-Benutzer ausgeführt wird, werden die Berechtigungen der / selbst wird geändert, aber nicht von anderen Dateien oder Verzeichnissen darin.

$ chown -c --preserve-root alan /
chown:Besitzerwechsel von '/':Operation nicht erlaubt
[root@localhost /]# chown -c --preserve-root alan /
Eigentümer von '/' von root zu alan geändert

Eigentum ist Sicherheit

Der Besitz von Dateien und Verzeichnissen ist Teil einer guten Informationssicherheit, daher ist es wichtig, den Besitz von Dateien gelegentlich zu überprüfen und aufrechtzuerhalten, um unerwünschten Zugriff zu verhindern. Der Befehl chown ist einer der gebräuchlichsten und wichtigsten in der Reihe der Linux-Sicherheitsbefehle.


Linux
  1. Einführung in den Linux-Befehl chmod

  2. Einführung in den Alternativen-Befehl in Linux

  3. Eine Einführung in den diff-Befehl

  4. 5 praktische Beispiele des dd-Befehls unter Linux

  5. Der Befehl locate unter Linux

Wie man unter Linux rekursiv chown

20 praktische Beispiele für den Chown-Befehl unter Linux

Wesentliche Beispiele des ps-Befehls in Linux

Was ist der Kill-Befehl in Linux?

Verstehen des Zeitbefehls in Linux

Verwendung des grep-Befehls unter Linux