Erweiterte Dateiberechtigungen und wie man sie richtig liest

Erweiterte Dateiberechtigungen und wie man sie richtig liest
alisto@ubuntu:/projects/solarproj$ \ls -al
total 32
drwxrwsr-t 3 root   solarproj 4096 Dec 8 16:02 .
drwxr-xr-x 3 root   root      4096 Dec 8 15:29 ..
-rw-rw---- 1 boband boband    802  Dec 8 15:44 bearings.jpg
-rw-rw-r-- 1 boband solarproj 101  Dec 8 15:43 controller.c
drwxrwSr-x 2 alisto solarproj 4096 Dec 8 15:40 old
-------rwx 1 alisto solarproj 19   Dec 8 14:08 power
-rw-r--r-- 1 alisto solarproj 81   Dec 8 15:44 schedule.txt
-rw----r-- 1 boband solarproj 576  Dec 8 15:58 temp
lrwxrwxrwx 1 alisto solarproj 24   Dec 8 16:02 temp.sym      ->  ../solarproj/temp

Beide Benutzer sind in der Solarproj-Gruppe

  1. Kann Bob den Inhalt der Datei ändern schedule.txt? Warum?

    Wenn ich das richtig verstehe, ist die Antwort nein, da die Gruppe auf „Nur Lesen“ eingestellt ist.

  2. Kann Alice die Datei entfernen controller.c? Warum?

    Die Datei gibt Lese- und Schreibberechtigung, aber wegen des Sticky Bits kann sie es nicht entfernen/nicht so sicher, ob sie

  3. Welche Benutzer können die Datei lesen power? Warum?

    Alle anderen Benutzer, die nicht Teil der Gruppe oder von Alisto sind

  4. Warum kann Alice, aber nicht Bob, den Inhalt im Verzeichnis „old“ auflisten?

    Wegen dem S auf der Gruppenberechtigung existiert das x nicht

  5. Kann Alice die Datei lesen temp.sym? Warum?

    Nein, das ist ihr nicht gestattet.

Ich weiß nicht, ob meine Antworten richtig sind, und würde mich freuen, wenn jemand meine falschen Antworten korrigieren und mir ein wenig helfen könnte. Ich würde es gerne selbst ausprobieren und mir ein Bild davon machen, aber meine VM funktioniert nicht und ich muss für den nächsten Test in ein paar Tagen lernen. Versuch es noch einmal!

Antwort1

Wenn eine Berechtigung mit dem Befehl angezeigt wird ls, folgt sie einer bestimmten Struktur. Schauen wir uns das Beispiel an:

-rw-rw-r--

DerErsteZeichen gibt den Dateityp an und wird alsDateideskriptor,die nächsten drei Zeichengeben Sie die Berechtigungen für den Benutzer an, der die Datei erstellt hat, dienächster Satz von drei Zeichengeben Sie die Berechtigungen für die Gruppe des Benutzers an, und diedie letzten drei ZeichenGeben Sie die Berechtigungen für alle anderen an.

In diesem Beispiel:

  • DieErsteZeichen, genannt Dateideskriptor, gibt den Dateityp an. In diesem Fall -rw-rw-r--ist es der Bindestrich am Anfang.
  • Diedie nächsten drei Zeichengeben die Berechtigungen des Benutzers an, der die Datei erstellt hat. In diesem Fall -rw-rw-r--ist es rw-.
  • Diedie nächsten drei Zeichen danachGeben Sie die Berechtigungen für die zuvor genannte Benutzergruppe an.
  • Diedie letzten drei ZeichenZeigen Sie die Berechtigungen für alle anderen an.

Das erste Zeichen bzw. der Dateideskriptor, ein einzelner Bindestrich ( -), zeigt an, dass es sich nur um eine normale Datei handelt. Wenn dies hingegen die Berechtigungen für das Verzeichnis wären, wäre es dstattdessen ein einzelner Bindestrich. Eine nicht vollständige Liste möglicher Werte für den Dateideskriptor:

  • d- ein Verzeichnis
  • -- eine "normale" Datei
  • l- ein symbolischer Link
  • s- ein UNIX-Socket
  • p- eine Pipeline

Die anderen drei Gruppen von drei Zeichen folgen der Struktur [read][write][exec], wobei jede Klammer ein Zeichen enthält.

In unserem Beispiel gilt also -rw-rw-r--:

  • Die Berechtigungen für den Benutzer, der die Datei erstellt hat, lauten rw-: . Der Benutzer kann die Datei also lesen und in sie schreiben, sie aber nicht ausführen.
  • Die Berechtigungen für die Gruppe des Benutzers lauten ebenfalls rw-, was bedeutet, dass die Gruppe des Benutzers auch Lese- und Schreibrechte hat.
  • Die Berechtigungen für alle anderen lauten r--; dies bedeutet, dass alle anderen die Datei nur lesen, aber nicht darin schreiben oder sie ausführen können.

Also, zu Ihren Fragen:

Kann Bob den Inhalt der Datei schedule.txt ändern? Warum?

Wenn ich das richtig verstehe, ist die Antwort nein, da die Gruppe so eingestellt ist, dass sie nur liest

-rw-r--r-- 1 alisto solarproj 81   Dec 8 15:44 schedule.txt

Sie haben Recht. bobandist Teil der solarprojGruppe, daher sind seine Berechtigungen r--, was bedeutet, dass er die Datei nur lesen, aber nicht ändern kann.

Kann Alice die Datei controller.c entfernen? Warum?

Die Datei gibt Lese- und Schreibberechtigung, aber wegen des Sticky Bits kann sie es nicht entfernen/nicht so sicher, ob sie

-rw-rw-r-- 1 boband solarproj 101  Dec 8 15:43 controller.c

rw-Ja, das kann sie. Sie ist Teil der Solarproj-Gruppe und hat die entsprechenden Berechtigungen. Sie kann die Datei also ändern und löschen.

Welche Benutzer können die Dateiberechtigung lesen? Warum?

Alle anderen Benutzer, die nicht Teil der Gruppe oder von Alisto sind

-------rwx 1 alisto solarproj 19   Dec 8 14:08 power

Auch hier gilt: Richtig. Nur ein Benutzer, der 1) nicht zur solarprojGruppe gehört und 2) nicht in der Gruppe ist, alistokann die Datei lesen, ändern oder ausführen.

Warum kann Alice den Inhalt des Verzeichnisses „old“ auflisten, aber nicht Bob?

Wegen dem S auf der Gruppenberechtigung existiert das x nicht

drwxrwSr-x 2 alisto solarproj 4096 Dec 8 15:40 old

Nö. Das Sbedeutet, die DateiIstausführbarUnddas Setguid-Bit ist gesetzt.

Kann Alice die Datei temp.sym lesen? Warum?

Nein, weil sie nicht dazu berechtigt ist

-rw----r-- 1 boband solarproj 576  Dec 8 15:58 temp
lrwxrwxrwx 1 alisto solarproj 24   Dec 8 16:02 temp.sym      ->  ../solarproj/temp

Richtig. temp.symzeigt auf die Datei temp; während alistovon gelesen werden kann temp.sym, weil es auf zeigt temp, wasalisto kann nichtvorzulesen, wird ihr die Berechtigung verweigert.

verwandte Informationen