
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 3
wird es leichter zu verstehen.
Tatsächlich verwenden Mac und einige andere Unix-Derivate eine 1 3 3 3 1
Struktur – 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.)