Dateiberechtigungen: Unterschied zwischen den Versionen
Amo (Diskussion | Beiträge) |
Amo (Diskussion | Beiträge) K |
||
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. |
||
==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: |
# (u) User: BesitzerIn der Datei |
||
# (g) Group: |
# (g) Group: Gruppe, der die Datei gehört. |
||
# (o) Others: Alle anderen. |
# (o) Others: Alle anderen. |
||
Welche Berechtigungen gelten ist durch |
Welche Berechtigungen gelten ist durch Eingabe von <tt> ls -l </tt> herauszufinden. |
||
$ ls -l |
$ ls -l |
||
total 5 |
total 5 |
||
Zeile 19: | Zeile 19: | ||
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 |
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 |
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 |
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 |
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 |
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 |
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== |
==Dateien auf [[AFS]]-Servern== |
||
Für Dateien die auf [[AFS]]-Servern liegen, gelten zusätzlich die |
Für Dateien die auf [[AFS]]-Servern liegen, gelten zusätzlich die Access Control Lists (ACL). Informationen dazu sind auf der Seite [[AFS]] zu finden. |
Version vom 9. Dezember 2004, 19:16 Uhr
Inhaltsverzeichnis
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:
- Leserecht (r)
- Schreibrecht (w)
- Ausführrecht (x)
Diese Berechtigungen können für drei Gruppen von Personen vergeben werden:
- (u) User: BesitzerIn der Datei
- (g) Group: Gruppe, der die Datei gehört.
- (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.
Dateien auf AFS-Servern
Für Dateien die auf AFS-Servern liegen, gelten zusätzlich die Access Control Lists (ACL). Informationen dazu sind auf der Seite AFS zu finden.