Dateiberechtigungen: Unterschied zwischen den Versionen

Aus Physik
Zur Navigation springen Zur Suche springen
 
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Allgemeines==
 
==Allgemeines==
Unter Linux ist jede Datei und jedes Verzeichnis mit gewissen Berechtigungen versehen. Diese Regeln bestimmen was mit dieser Datei gemacht werden darf.
+
Unter Linux ist jede Datei und jedes Verzeichnis mit gewissen Berechtigungen versehen. Diese Regeln bestimmen, was mit dieser Datei gemacht werden darf.
  +
  +
Für Dateien die auf [[AFS]]-Servern liegen, gelten zusätzlich Access Control Lists (ACL), dafür werden die Berechtigungen für 'group' bzw. 'world' ignoriert. Informationen dazu sind auf der Seite [[AFS]] zu finden.
   
 
==Arten von Berechtigungen==
 
==Arten von Berechtigungen==
Es gibt für jede Datei drei Arten von Berechtigungen.
+
Es gibt für jede Datei drei Arten von Berechtigungen:
 
# Leserecht (r)
 
# Leserecht (r)
 
# Schreibrecht (w)
 
# Schreibrecht (w)
 
# Ausführrecht (x)
 
# Ausführrecht (x)
   
Diese Berechtigungen können für drei Gruppen von Personen vergeben werden.
+
Diese Berechtigungen können für drei Gruppen von Personen vergeben werden:
# (u) User: Derjenige dem diese Datei gehört
+
# (u) User: BesitzerIn der Datei
# (g) Group: Personen, die zur gleichen Gruppe gehören wie der Besitzer der Datei
+
# (g) Group: Gruppe, der die Datei gehört.
 
# (o) Others: Alle anderen.
 
# (o) Others: Alle anderen.
   
Welche Berechtigungen gelten ist durch eingabe von <tt> ls -l </tt> herauszufinden.
+
Welche Berechtigungen gelten ist durch Eingabe von <tt> ls -l </tt> herauszufinden.
 
$ ls -l
 
$ ls -l
 
total 5
 
total 5
Zeile 19: Zeile 21:
 
drwx------ 2 Benutzer stud 2048 Nov 29 13:13 privat
 
drwx------ 2 Benutzer stud 2048 Nov 29 13:13 privat
 
drwxr-xr-x 2 Benutzer stud 2048 Nov 29 13:13 public
 
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. <br>
+
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 jede Personengruppe werden die oben erwähnten drei Rechte verteilt. <br>
Die Datei ''berechtigung.txt'' ist also für den Besitzer les- und schreibbar, für die Gruppe und andere nur lesbar. <br>
+
Die Datei ''berechtigung.txt'' ist also für ''user'' les- und schreibbar, für die Gruppe und andere nur lesbar. <br>
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. <br>
+
Das Verzeichnis ''privat'' ist nur für ''user'' lesbar, schreibbar und ausführbar. Ausführbar bedeutet bei Verzeichnissen, dass in diese gewechselt werden darf. <br>
Das Verzeichnis public ist auch für die Gruppe und alle anderen lesbar und ausführbar.
+
Das Verzeichnis ''public'' ist auch für die Gruppe und alle anderen les- und ausführbar.
   
 
==Ändern von Dateiberechtigungen==
 
==Ändern von Dateiberechtigungen==
 
===Mit dem Dateimanager===
 
===Mit dem Dateimanager===
 
Rechtsklick auf die gewünschte Datei -> Properties. Dort können unter der Karteikarte ''Permissions'' die Rechte vergeben werden.
 
Rechtsklick auf die gewünschte Datei -> Properties. Dort können unter der Karteikarte ''Permissions'' die Rechte vergeben werden.
===In der [[Shell]]===
+
===In der [[Shell]]...===
...werden Dateiberechtigungen mit dem Befehl <tt> chmod </tt> geändert. Man übergibt dabei <tt> chmod </tt> 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).<br>
+
...werden Dateiberechtigungen mit dem Befehl <tt> chmod </tt> geändert. Man übergibt dabei <tt> chmod </tt> 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).<br>
 
'''Beispiel:'''
 
'''Beispiel:'''
 
$ ls -l
 
$ ls -l
 
total 0
 
total 0
 
---------- 1 Benutzer stud 0 Dec 9 16:52 beispiel.sh
 
---------- 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).
+
Die Datei ''beispiel.sh'' ist komplett rechtlos (nicht sehr realistisch, da beim Anlegen einer Datei Standardwerte für die Berechtigungen gesetzt werden).
 
$ chmod u+rwx beispiel.sh
 
$ chmod u+rwx beispiel.sh
 
$ ls -l
 
$ ls -l
 
total 0
 
total 0
 
-rwx------ 1 Benutzer stud 0 Dec 9 16:52 beispiel.sh
 
-rwx------ 1 Benutzer stud 0 Dec 9 16:52 beispiel.sh
Jetzt darf der Besitzer alles mit dieser Datei machen.
+
Jetzt darf ''user'' alles mit dieser Datei machen.
 
$ chmod go+rx beispiel.sh
 
$ chmod go+rx beispiel.sh
 
$ ls -l
 
$ ls -l
 
total 0
 
total 0
 
-rwxr-xr-x 1 Benutzer stud 0 Dec 9 16:52 beispiel.sh
 
-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.
+
Jetzt dürfen Personen, die zur Gruppe ''stud'' gehören, und alle anderen die Datei ausführen und lesen.
 
$ chmod o-x beispiel.sh
 
$ chmod o-x beispiel.sh
 
$ ls -l
 
$ ls -l
 
total 0
 
total 0
 
-rwxr-xr-- 1 Benutzer stud 0 Dec 9 16:52 beispiel.sh
 
-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
+
Jetzt dürfen alle anderen die Datei nur noch lesen, aber nicht mehr ausführen.
   
 
==Berechtigungen heruntergeladener Dateien==
 
==Berechtigungen heruntergeladener Dateien==
Aus Sicherheitsgründen fehlt jeder Datei, die aus dem Internet heruntergeladen wird das Ausführrecht. Sie muss also mit
+
Aus Sicherheitsgründen fehlt jeder Datei, die aus dem Internet heruntergeladen wird, das Ausführrecht. Sie muss also mit
 
$ chmod u+x <heruntergeladene Datei>
 
$ chmod u+x <heruntergeladene Datei>
 
erst ausführbar gemacht werden.
 
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.
 

Aktuelle Version vom 25. Jänner 2008, 17:56 Uhr

Allgemeines

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

Für Dateien die auf AFS-Servern liegen, gelten zusätzlich Access Control Lists (ACL), dafür werden die Berechtigungen für 'group' bzw. 'world' ignoriert. Informationen dazu sind auf der Seite AFS zu finden.

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: BesitzerIn der Datei
  2. (g) Group: Gruppe, der die Datei gehört.
  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 jede Personengruppe werden die oben erwähnten drei Rechte verteilt.
Die Datei berechtigung.txt ist also für user les- und schreibbar, für die Gruppe und andere nur lesbar.
Das Verzeichnis privat ist nur für user lesbar, schreibbar und ausführbar. Ausführbar bedeutet bei Verzeichnissen, dass in diese gewechselt werden darf.
Das Verzeichnis public ist auch für die Gruppe und alle anderen les- 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

Die Datei beispiel.sh ist komplett rechtlos (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 user 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 Personen, die zur Gruppe stud gehören, 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 mehr 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.