Unix-Dateiberechtigungen

Unix-Dateiberechtigungen

Ich schaue mir gerade die Berechtigungen für einige meiner Ordner über das Terminal an und weiß nicht genau, was sie bedeuten.

iMac:~ me$ ls -alt
total 40
drwx------   4 me  staff   136 10 Oct 06:17 .Trash
drwx------+  4 me  staff   136 10 Oct 06:16 Desktop
drwxr-xr-x   6 me  staff   204 10 Oct 06:16 .bash_sessions
-rw-r--r--@  1 me  staff  8196  8 Oct 22:37 .DS_Store
drwx------+  9 me  staff   306  8 Oct 22:37 Downloads
drwx------@ 12 me  staff   408  8 Oct 20:50 Google Drive
drwx------@ 13 me  staff   442  8 Oct 20:49 Dropbox
drwx------   9 me  staff   306  8 Oct 20:49 .dropbox
drwxr-xr-x+ 19 me  staff   646  8 Oct 20:48 .
-rw-r--r--   1 me  staff   100  4 Oct 12:03 .bash_history
drwx------@ 49 me  staff  1666  4 Oct 10:17 Library
drwx------   4 me  staff   136  4 Oct 09:52 Applications
-r--------   1 me  staff     7  4 Oct 09:45 .CFUserTextEncoding
drwx------+  3 me  staff   102  4 Oct 09:42 Documents
drwx------+  3 me  staff   102  4 Oct 09:42 Movies
drwx------+  3 me  staff   102  4 Oct 09:42 Music
drwx------+  3 me  staff   102  4 Oct 09:42 Pictures
drwxr-xr-x+  5 me  staff   170  4 Oct 09:42 Public
drwxr-xr-x   7 root             admin   238  4 Oct 09:42 ..

Was ist der Unterschied zwischen „drwxr-xr-x+“ in „.“ und „drwx------@“ in „Google Drive“?

Antwort1

Unix-Berechtigungen sind eigentlich viel weniger verwirrend, als man zunächst denken würde, und wenn man nicht mehr versucht, die ganze Zeile als eine Sache zu lesen, sondern sie stattdessen in Gruppen betrachtet, immer im Muster, 1 3 3 3wird es leichter zu verstehen.
Tatsächlich verwenden Mac und einige andere Unix-Derivate eine 1 3 3 3 1Struktur – mehr dazu am Ende dieses Beitrags.

Diese Erklärung ist so einfach wie möglich und enthält dennoch alle relevanten Konzepte ...

Extrahiert aushttps://www.cs.swarthmore.edu/help/chmod.html

Unix-Dateiberechtigungen

Mit Dateiberechtigungen können Sie den Zugriff auf Ihre Dateien und Verzeichnisse gewähren oder verweigern. Es gibt drei Arten von Berechtigungen:

  • r = lesen
  • w = schreiben
  • x = ausführen

Diese Berechtigungen bedeuten für Dateien und Verzeichnisse unterschiedliche Dinge.

Für Dateien:

  • lesen - Sie können die Datei öffnen und lesen, Sie können sie auch kopieren.
  • schreiben - Sie können die Datei ändern
  • Ausführen - Sie können die Datei ausführen (starten), wenn sie ausführbar ist (wie ein Programm oder ein Befehl).

Für Verzeichnisse:

  • lesen – Sie können das Verzeichnis durchsuchen und den Inhalt anzeigen.
  • schreiben – Sie können in diesem Verzeichnis Dateien erstellen und entfernen.
  • Ausführen – Sie können per CD in dieses Verzeichnis wechseln.

Verwenden Sie den Befehl ls -l, um die Dateiberechtigungen für Ihre Dateien und Verzeichnisse anzuzeigen. Hier ist ein Beispiel:

$ ls -l
total 188
drwx------  jk users  4096 2008-10-24 11:30 cs21/
drwx------  jk users  4096 2007-10-01 12:24 mail/
drwxr-xr-x  jk users  4096 2008-06-05 10:33 public/
-rw-------  jk users 83623 2008-09-10 08:29 turing.pdf
-rw-r--r--  jk users  9134 2008-01-24 16:26 unix-by-example

Die erste Spalte oben enthält die Dateiberechtigungen (drwx------ oder -rw-r--r--), die zweite den Eigentümer der Dateien und Verzeichnisse (jk) und die dritte Spalte die Gruppe (Benutzer).

Bei den Dateiberechtigungen ist der erste Buchstabe entweder ein „d“ oder ein „-“, was bedeutet, dass es sich um ein Verzeichnis oder eine Datei handelt. Die nächsten drei Zeichen (z. B. rwx) sind die Berechtigungen für den Eigentümer der Datei. Dann kommen die Gruppenberechtigungen (z. B. jeder in der Benutzergruppe) und schließlich die Berechtigungen für alle anderen. Hier einige Beispiele:

* drwx------ : directory only accessible by owner
* drwxr-xr-x : directory anyone can access
* -rwxr-xr-x : file anyone can read and execute
* -rw-r----- : file only people in the group can read

Um zu sehen, in welchen Gruppen Sie sich befinden, führen Sie den Befehl „Gruppen“ aus.

Ändern der Berechtigungen für eine Datei/ein Verzeichnis

Verwenden Sie den Befehl chmod (CHange MODe), um die Dateiberechtigungen zu ändern. Der Befehl chmod kann Zahlen verwenden:

  • 4 - lesen
  • 2 - schreiben
  • 1 - ausführen

Der Grund, warum diese nicht 1, 2, 3 lauten, liegt darin, dass sie je nach verwendeter Kombination eine eindeutige Zahl ergeben müssen.

So erteilen Sie Lese- und Schreibberechtigung:

lesen + schreiben = 4 + 2 = 6

oder Ausführen und Leseberechtigung:

ausführen + lesen = 1 + 4 = 5

Oder führen Sie einfach die Berechtigung aus:

ausführen = 1

Oder alle Berechtigungen:

lesen + schreiben + ausführen = 4 + 2 + 1 = 7

Der Befehl chmod benötigt drei Zahlen für drei Berechtigungen:

Besitzer, Gruppe, alle Benutzer (in dieser Reihenfolge)

Der grundlegende chmod-Befehl lautet:

$ chmod ### directory/filename

Wenn Sie also allen Lesezugriff gewähren möchten (-rw-r--r--):

$ chmod 644 filename

So machen Sie eine Datei nur für Sie lesbar, beschreibbar und ausführbar:

$ chmod 700 filename

So machen Sie eine Datei für Sie und Ihre Gruppe lesbar und ausführbar, aber nur für alle anderen lesbar:

$ chmod 554 filename

chmod kann auch Buchstaben verwenden: u für Benutzer (Besitzer), g für Gruppe, o für andere und a für alle (u, g und o). Sie können also chmod g+r file ausführen, um Lesezugriff für die Gruppe hinzuzufügen. Weitere Informationen zu chmod finden Sie auf der Manpage (man chmod).

Eine Anmerkung zu diesem letzten Charakter

Unter Mac OS X (und einigen anderen Unix-Derivaten) gibt es nach dem letzten Satz von Berechtigungen ein zusätzliches Zeichen. Normalerweise ist es ein Leerzeichen, es kann aber auch ein + oder ein @ sein.

Ein + gibt an, dass die Datei oder das Verzeichnis zusätzliche Sicherheitsinformationen wie eine ACL enthält.
Ein @ gibt an, dass die Datei oder das Verzeichnis erweiterte Attribute hat.

Sie können die ACL einer Datei oder eines Verzeichnisses sehen, indem Sie die Option -e einschließen, wenn Sie ein ls ausführen (mit der Option -l), und erweiterte Attribute, indem Sie -@ einschließen (auch mit -l).
Eine Diskussion über ACLs und erweiterte Attribute geht weit über diese Antwort hinaus, aber weitere Informationen zu erweiterten Attributen finden Sie hierHierund ACLsHier(und natürlich wird Google mehr Informationen über sie ausspucken, als Sie wissen möchten.)

verwandte Informationen