Dateieigentum
Jede Datei gehört einem bestimmten Benutzer (oder UID) und einer bestimmten Gruppe (oder GID). Der Befehl chown kann verwendet werden, um nur den Benutzer oder den Benutzer und die Gruppe einer Datei zu ändern. Hier ist ein Beispiel für die Änderung des Eigentümers der Datei „Datei1“ in „Benutzer“ und ihres „Benutzers“ in Benutzer. Beachten Sie, dass die Verwendung des Befehls ls -l nur dazu dient, die Änderung anzuzeigen, und kein notwendiger Schritt ist, um den Eigentümer der Datei zu ändern:
# ls -l total 8 -rw-r--r--. 1 root root 30 Feb 16 04:47 file1 -rw-r--r--. 1 root root 130 Feb 16 04:47 file2
# chown user:user file1
# ls -l total 8 -rw-r--r--. 1 user user 30 Feb 16 04:47 file1 -rw-r--r--. 1 root root 130 Feb 16 04:47 file2
Das grundlegende Format für den Befehl chown ist wie folgt:
# chown user.group filename
Anstelle des Trennzeichens Punkt (.) kann ein Doppelpunkt (:) verwendet werden.
# chown user:group filename
Außerdem kann entweder der Benutzer- oder der Gruppenname weggelassen werden. Wenn der Benutzername weggelassen wird (aber das Trennzeichen vorhanden ist), verhält sich der chown-Befehl wie der chgrp Befehl, und nur der Gruppenbesitz wird geändert. Wenn der Gruppenname weggelassen wird (aber das Trennzeichen vorhanden ist), wird die Gruppe auf die Anmeldegruppe des angegebenen Benutzers gesetzt. Wenn sowohl der Gruppenname als auch das Trennzeichen weggelassen werden, wird nur der Benutzername geändert.
Um beispielsweise nur den Besitzer zu ändern, könnten Sie Folgendes ausführen:
# chown user filename
Ein alternativer Befehl, um nur die Gruppe einer Datei zu ändern, ist der Befehl chgrp. Zum Beispiel:
# chgrp group filename
Der Befehl chgrp wird häufig von normalen Benutzern verwendet, um den Gruppenbesitz ihrer Dateien zu ändern. Der Befehl chown wird normalerweise nur vom Root-Benutzer verwendet.
Standardgruppenbesitz
Jeder Benutzer kann Mitglied vieler Gruppen sein (aufgelistet in der Datei /etc/group unter mehreren Gruppen). Nur eine Gruppe ist die primäre Gruppe eines Benutzers (aufgelistet im Benutzereintrag in /etc/password). Wenn ein Benutzer eine Datei erstellt, gehört die Datei standardmäßig der primären Gruppe des Benutzers. Wenn sie möchten, dass die Datei einer ihrer anderen Gruppen gehört, müssen sie den Befehl chgrp verwenden, um die Gruppenmitgliedschaft zu ändern.
Eine bequemere Möglichkeit, dies zu erreichen, besteht darin, sich vorübergehend bei einer anderen Gruppe anzumelden und diese Gruppe zu Ihrer primären Ersatzgruppe zu machen. Auf diese Weise gehören alle neu erstellten Dateien automatisch der gewünschten Gruppe, und Sie müssen die Gruppenmitgliedschaft nicht manuell ändern. Untersuchen Sie das folgende Beispiel und beachten Sie die Verwendung von newgrp Befehl.
$ id uid=1001(user) gid=1001(user) groups=1001(user),10(wheel)
$ touch file1 $ ls -l file1 -rw-rw-r--. 1 user user 0 Feb 16 14:17 file1
$ newgrp wheel $ touch file2 $ ls -l file2 -rw-r--r--. 1 user wheel 0 Feb 16 14:22 file2
Datei- und Verzeichnisberechtigungen
Unten sehen Sie eine Beispielausgabe von ls -l; Sie können am ersten Zeichen jeder Zeile sehen, dass foo und bar Verzeichnisse sind (gekennzeichnet durch das d) und dass meta eine normale Datei ist (gekennzeichnet durch das -).
$ ls -l drwxr-xr-x 2 user user 6 Jan 7 2015 Desktop -rw-rw-r-- 1 user user 0 Feb 16 14:17 file1 -rw-r--r-- 1 user wheel 0 Feb 16 14:22 file2
Die nächsten neun Zeichen zeigen die Berechtigungen der Datei für Benutzer, Gruppen und andere (oder alle anderen) wie unten gezeigt, wobei der Übersichtlichkeit halber Klammern hinzugefügt wurden:
-(rw-) (r--) (r--) 1 user wheel 0 Feb 16 14:22 file2
Nun hat der Eigentümer Lese- und Schreibrechte (rw-), die Gruppe und alle anderen nur Leserechte (r–). Dies wird als symbolische Darstellung bezeichnet, da Buchstaben wie r, w und x verwendet werden, um Berechtigungen anzugeben. Berechtigungen können auch numerisch dargestellt werden:r =4; w =2; x =1
Fügen Sie jeden Abschnitt hinzu, sodass die Berechtigungen der Dateimeta (aus dem obigen Beispiel) 664 wären. Hier ist eine andere Möglichkeit, um zu sehen, wie wir zu dieser Zahl kommen:
-(rw-) (rw-) (r--) -(42-) (42-) (4--) 6 6 4
Das Hinzufügen der Zahlen in jedem Abschnitt führt zu Berechtigungen von 664.
Dateiberechtigungen ändern
Die chmod Der Befehl wird verwendet, um die Berechtigungen einer Datei zu ändern. Es kann verwendet werden, um Berechtigungen symbolisch hinzuzufügen oder zu entfernen. Um beispielsweise Ausführungsberechtigungen für den Eigentümer einer Datei hinzuzufügen, würden Sie Folgendes ausführen:
$ chmod u+x file_name
Oder um Lese- und Schreibberechtigungen für die Gruppe hinzuzufügen, der die Datei gehört, würden Sie Folgendes ausführen:
$ chmod g+rw file_name
Anstatt Berechtigungen hinzuzufügen, kann die symbolische Syntax von chmod auch verwendet werden, um einen absoluten Wert zu subtrahieren oder auf einen bestimmten Wert zu setzen, wie in diesen Beispielen gezeigt:
$ chmod o-w file_name
$ chmod u=rwx,g=rx,o= file_name
Der Befehl chmod kann Berechtigungen auch explizit mithilfe einer numerischen Darstellung festlegen. Um beispielsweise Berechtigungen für eine Datei auf rwxrwxr– zu setzen, würden Sie Folgendes ausführen:
$ chmod 774 file_name