Dateiberechtigungen

Aus Physik
Zur Navigation springen Zur Suche springen

Allgemeines

Unter Linux ist jede Datei und jedes Verzeichnis mit gewissen Berechtigungen versehen. Diese Regeln bestimmen was mit dieser Datei gemacht werden darf.

Arten von Berechtigungen

Es gibt für jede Datei drei Arten von Berechtigungen.

  1. Leserecht (r)
  2. Schreibrecht (w)
  3. Ausführrecht (x)

Diese Berechtigungen können für drei Gruppen von Personen vergeben werden.

  1. (u) User: Derjenige dem diese Datei gehört
  2. (g) Group: Personen, die zur gleichen Gruppe gehören wie der Besitzer der Datei
  3. (o) Others: Alle anderen.

Welche Berechtigungen gelten ist durch eingabe von ls -l herauszufinden.

$ ls -l
total 5
-rw-r--r--  1 Benutzer stud   27 Nov 29 13:26 berechtigung.txt
drwx------  2 Benutzer stud 2048 Nov 29 13:13 privat
drwxr-xr-x  2 Benutzer stud 2048 Nov 29 13:13 public

In der linken Spalte sind die Berechtigungen zu finden. Das erste Zeichen gibt an, um welche Datei es sich handelt (d = Directory), danach folgen die Dateiberechtigungen in der Reihenfolge USER GROUP OTHERS. Für jeden dieser drei Benutzer werden die oben erwähnten 3 Rechte verteilt.
Die Datei berechtigung.txt ist also für den Besitzer les- und schreibbar, für die Gruppe und andere nur lesbar.
Das Verzeichnis privat ist nur für den Benutzer lesbar, schreibbar und ausführbar. Ausfürhbar bedeutet bei Verzeichnissen, dass in diese gewechselt werden darf.
Das Verzeichnis public ist auch für die Gruppe und alle anderen lesbar und ausführbar.

Ändern von Dateiberechtigungen

Mit dem Dateimanager

Rechtsklick auf die gewünschte Datei -> Properties. Dort können unter der Karteikarte Permissions die Rechte vergeben werden.

In der Shell

...werden Dateiberechtigungen mit dem Befehl chmod geändert. Man übergibt dabei chmod als erstes Argument für wen die Rechte gelten sollen (u,g,o,a = all), dann ein + oder - (je nachdem ob das Recht zugestanden oder genommen wird) und anschließend die Rechte (r,w,x).
Beispiel:

$ ls -l
total 0
----------  1 Benutzer stud 0 Dec  9 16:52 beispiel.sh

beispiel.sh ist eine komplett rechtlose Datei (nicht sehr realistisch, da beim anlegen einer Datei Standardwerte für die Berechtigungen gesetzt werden).

$ chmod u+rwx beispiel.sh 
$ ls -l
total 0
-rwx------  1 Benutzer stud 0 Dec  9 16:52 beispiel.sh

Jetzt darf der Besitzer alles mit dieser Datei machen.

$ chmod go+rx beispiel.sh 
$ ls -l
total 0
-rwxr-xr-x  1 Benutzer stud 0 Dec  9 16:52 beispiel.sh

Jetzt dürfen Gruppe und alle anderen die Datei ausführen und lesen.

$ chmod o-x beispiel.sh 
$ ls -l
total 0
-rwxr-xr--  1 Benutzer stud 0 Dec  9 16:52 beispiel.sh

Jetzt dürfen alle anderen die Datei nur noch lesen aber nicht ausführen

Berechtigungen heruntergeladener Dateien

Aus Sicherheitsgründen fehlt jeder Datei, die aus dem Internet heruntergeladen wird das Ausführrecht. Sie muss also mit

$ chmod u+x <heruntergeladene Datei>

erst ausführbar gemacht werden.

Dateien auf AFS-Servern

Für Dateien die auf AFS-Servern liegen, gelten zusätzlich die access control Lists (ACL). Information dazu ist auf der Seite AFS zu finden.