Zugriffsrechte & Users      [1.1]

Teil 1                                                                                                                       Teil 2|Teil 3

Das Thema der Verzeichnis- und Dateirechte erscheint im ersten Augenblick recht einfach: Darf eine Datein lesen und schreiben oder eben nicht.

Auch für einem Administrator ist dieses Thema nicht simple sondern je mehr dieser in die Thematik involviert ist, wird die Rechtevergabe besonders in einem Netzwerk recht komplex.

Selbst die grahischen Tool einer LinuxGUI machen das Problem nicht kleiner sondern verwirren, so meine ich, eher. Zumal es in Linux mehrere GUI (Unity,Gnome,KDE) gibt, die alle unterschiedlich reagieren.

Hier hat eindeutig mal Microsoft die Nase vorn, Uniformität bzw. Kompatibilität der Windows GUI bei unterschiedlichen Windows-Versionen.

Nicht rühmliche Ausnahme bei Windows 8, aber die GUI ist schon wieder mit Windows 8.1 dem altbekanntem Stil angepasst geworden, wenn auch etwas versteckt. 

 

Es ist deshalb besser sich auf die 'Commandozeilenebene' herabzubegeben um dort der Thematik 'Rechte' Herr zu werden.

1. Verzeichnis - Datei  - User/Gruppen

 1.1 Verzeichnis - Rechte 

Ein Verzeichnis (directory) ist physikalisch gesehen nichts anderes als eine Datei, logisch gesehen eine große Schachtel, in dem Verweise (Zettel) auf ein übergeordnetes Verzeichnis (..), das aktuelle Verzeichnis(.), andere Unterverzeichnisse und Dateien abgelegt werden. 

Der Ursprung einer Verzeichnisstruktur ist ein Baum (tree) wobei  die Wurzel (root) oben und die Blätter (knots) unten sind.

Hier ein Auszug der Verzeichnisstruktur meines Desktop:

root@uvr-HP-Pavilion-17-Notebook-PC:/home/uvr/Schreibtisch# tree

..

.

├── Bildbearbeitung

│   ├── AfterShotPro 2.1.desktop

│   ├── COLOR+projects+elements+(32-Bit).desktop

│   ├── CutOut 4.0 Pro.desktop

│   ├── Gimp 2.8.desktop

│   ├── Photoshop.desktop

│   ├── PhotoZoom+Pro+4.desktop

│   └── PhotoZoom+Pro+6.desktop

├── CutOut 4.0 Pro.desktop

├── HDR+projects+professional+(32-Bit).desktop

├── html-jimdo.txt

├── Programm-Links

│   ├── AfterShotPro 2.1.desktop

│   ├── Blender.desktop

│   └── CherryTree.desktop

├── Radio

│   ├── chrome-http___smoothjazz.radio.de_.desktop

│   └── chrome-http___www.jazzradio.com_smoothjazz.desktop

├── Verwaltung

│   ├── SOGo 19y.desktop

│   ├── srvlemp - 4.0-19x.desktop

│   └── Zentyal 3.5.desktop

└── WLAN-test.txt

 

Die für das Verzeichnis gesetzten Zugriffsregeln (Rechte) sind von großer Bedeutung für die Sicherheit der darin enthalten Dateien und Verzeichnisse. Eingesetztes Schreibrecht erlaubt es einem Dateien zu erstellen, ändern aber auch zu löschen!

Anmerkung:

Der nicht so versierte Administrator oder weil mal eben etwas auf Zuruf ganz dringend und schell erledigt werden muß, bedient sich gerne einer GUI (Graphischen User Interface), die ist ja so einfach zu bedienen. Klick .. Klick.. öh Nein, was nun...???
Auch ich habe mal klein angefangen und gerade als Windows (Server) Administrator ist man versucht oder bis Server 2003 dazu gezwungen eine GUI zu verwenden.

Die "Commandline"-Ebene hat man zwar für Scripte und kleine Tools verwendet aber wenn um die Rechtevergabe ging stets einen großen Bogen gemacht.

Aber in Windows ist das genau genommen nicht ganz so wichtig, denn des gibt eine gewissen Konformität bei den verschiedenen Windows Versionen. Nur man sollte ganz genau lesen was dort steht, bevor diese oder jene Option aktiviert oder deaktiviert.
Bei den GUI unter Linux kocht jede Distribution ihr eigenes Süppchen. Daher ist es von Nöten in die Gefilde der "Commandline"-Ebene hinabzusteigen, denn dort ist es eigentlich ganz klar was gemeint wird bzw. was eine aktive eingegebener Befehl bewirkt.

Commandline unter Windows

 

Um das Verhalten von Rechten zu testen habe ich mir folgendes Szenario ausgedacht.

..

.

├── Bilder

├── Dokumente

│   ├── Book Collector

│   │   ├── Backup

│   │   ├── Templates

│   │   └── Thumbnails

│   ├── Eigene Bilder

│   ├── Eigene Videos

│   ├── jobs

│   └── Meine Dokumente

├── test

│   ├── t1

│   │   ├── t11

│   │   └── t12

│   └── t2

└── Vorlagen

Die interessante Struktur verbirgt sich im Verzeichnis "test".

Wir tauchen ab in die "Commandline"-Ebene (Terminal). (Bei Windows: cmd )

Der Befehl  "ls -l test"  ergibt folgendes Ergebnis:

 

ls -l

drwx------  4 uvr uvr    4096 Dez 30 12:20 test

Das erste Zeichen 'd' zeigt an das es sich um ein Verzeichnis (directory) handelt.

Die nächsten 3 Zeichen 'rwx' zeigen die Rechte des Besitzers (Erstbenutzer, Owner) an.

Der Besitzer das :

r   = read - Lesen

w = write - Schreiben

x  = execute - Ausführen

 

 

Für das erste Zeichen gibt es folgende Sysmole:

d = Verzeichnis (directory)                                  /test

b = Gerät blockweise (block oriented)              /dev/hd5

c = Gerät zeichenweise (character oriented)  /dev/console 

l  = Symbolischer Link                                         /bin/vi ->vim

p = Named-Pipe                                                    /dev/blog

-  = Normale Datei                                                /tree.txt

 

ls -l test

insgesamt 636

drwxrwxr-x 4 uvr uvr     4096 Dez 30 12:23 t1             --> Verzeichnis

drwxrwxr-x 2 uvr uvr     4096 Dez 30 12:22 t2             --> Verzeichnis

-rw-rw-r--     1 uvr uvr 642801 Dez 29 18:30 tree.txt   --> Datei


1. Test

Befehl:

chmod u-rwx test

ls -l

d---------  4 uvr uvr    4096 Dez 30 12:20 test


Die GUI zeigt folgendes Bild:

 Das Icon für das Verzeichnis "test" ist nun mit einem Schloß versehen.

Ein Versuch auf den Ordner zu zugreifen wird verweigert. Jedoch ist die Reaktion in der GUI (Unity) etwas befremdlich, es erscheint kein Hinweis "Sperrung oder fehlende Rechte" sondern der Bildschirm bleibt im Dateimanager (nautilus) einfach leer!

Das Problem ist hierbei das man nicht mehr sieht ob es sich um ein gesperrtes Verzeichnis handelt oder der Ordner nur einfach leer ist. 

Wie schon gesagt, nur einem genau hinsehendem oder lesendem Admin kann geholfen werden.

Das leidige Übel einer GUI!

Im Terminal  ist der Reaktion des System eindeutig:

cd test  -> bash: cd: test: Keine Berechtigung

 

2. Test

Befehl:

chmod u+r test

ls -l

dr--------  4 uvr uvr    4096 Dez 30 12:20 test

Der Besitzer erhält nun das Recht etwas zu lesen 'r'.

Das Problem ist nur, das noch ein zusätzliches Recht fehlt, nämlich in das Verzeichnis (Ordner) zu wechseln. Man spricht auch vom Recht 'execute' 'x'.

Die GUI scheint dieses Recht gar nicht zu interessieren, man kann in das Verzeichnis wechseln und sich den Inhalt ansehen. Für die GUI (Unity) scheint das Leserecht 'r' ein höhere Priorität zu haben als das Fehlen des Rechts 'x' zum Verzeichniswechsel.


Die 'Commanline'-Ebene arbeit hier korrekt, denn man erhält hier wiederum die Meldung:
cd test  -> bash: cd: test: Keine Berechtigung


Auf noch etwas will ich hier aufmerksam machen, was man nur über die GUI bemerkt.

Die Vergabe des Rechtes 'r' wird nicht automatisch an die Unterverzeichnisse und Dateien weitervererbt. Die Unterverzeichnisse t1 und t2 zeigen beim Anwählen keine Inhalte an, auch kann der Inhalt der Textdatei 'tree.txt' nicht angezeigt werden.

Versucht man sich den Inhalt der Datei 'tree.txt' anzuzeigen erhält man die Meldung:

Die Datei »/home/uvr/test/tree.txt« konnte nicht geöffnet werden.

Sie haben nicht die erforderlichen Rechte, um diese Datei zu öffnen.

3. Test

Befehl:

chmod u+x test

ls -l

dr-x------  4 uvr uvr    4096 Dez 30 12:20 test

Der Benutzer erhält nun das Recht das Verzeichnis zu wechseln. Jetzt erst kann der Benutzer in die Unterverzeichnisse zu wechsel und sich den Inhalt von Dateien ansehen.

Im Terminal ("Commanline") ergibt sich das selbe Ergebnisse.

4. Test

Befehl:

chmod u-r test

ls -l

 d--x------  4 uvr uvr    4096 Dez 30 12:20 test

Jetzt haben wir dem Benutzer das Recht zu Lesen 'w' wieder entzogen, er verfügt nur noch über das Recht in das Verzeichnis zu wechseln.

Das Ergebnis ist mal wieder mehr als seltsam bei der GUI Anwendung. Jetzt erhält man bei der GUI eine Fehlermeldung:

Ich hätte jetzt das Verhalten der GUI von Test-2 erwartet. Der Wechsel in das Verzeichnis ist ja erlaubt.

Scheint ein kleiner Bug zu sein oder ?

 

5. Test

Befehl:

chmod u+w test

ls -l

d-wx------  4 uvr uvr    4096 Dez 30 12:20 test

Noch verrückter wird bei die Rechte Konstellation.

Der Benutzer darf in das Verzeichnis wechseln 'x', gleichzeitig darf er schreiben 'w'.

uvr@uvr-HP-Pavilion-17-Notebook-PC:~$ cd test

uvr@uvr-HP-Pavilion-17-Notebook-PC:~/test$ 

 

Wenn den den Inhalt des Verzeichnisses (Ordner) kennt kann man folgenden Befehl absetzen und siehe es funktioniert, obwohl keine Lese-Rechte 'r' vorhanden sind!

uvr@uvr-HP-Pavilion-17-Notebook-PC:~/test$ nano tree.txt


Die GUI (Unity) scheint hier richtig zu liegen auch wenn keine Fehlermeldung gegeben wird. Die Oberfläche bleibt einfach leer. Hier hätte eigentlich eine Meldung erscheinen müssen wie z.B: " Sie haben keine Lese-Rechte, Verzeichnis ist nicht leer!" 


Was ich noch als viel gefährlicher ansehe ist die Tatsache, das man eine neue Datei schreiben kann und in der Verzeichnis ablegen kann. Zwar hat man die Schreibberechtigung für dieses Verzeichnis, aber man hat überhaupt keine Kontrolle darüber was mit der Datei passiert ist.

Im Terminal:

uvr@uvr-HP-Pavilion-17-Notebook-PC:~/test$ nano tree-1.txt



Das Speichern funktioniert zwar, aber man sieht die Datei nicht.




uvr@uvr-HP-Pavilion-17-Notebook-PC:~/test$ ls -l

ls: Öffnen von Verzeichnis . nicht möglich: Keine Berechtigung


Die Fehlermeldung ist leider auch etwas irreführend, den das Verzeichnis ist dem Benutzer ja erlaubt zu öffnen mit dem Recht 'x'.


Anmerkung:

Mit Linux Ubuntu 14.04 LTS wurden die Versuche gemacht!

Mit den GUI GNOME oder KDE sehen die Testergebnisse  anscheinent anders aus. Werde es so bald wie möglich testen! Vor allem die KDE scheint dem Windows-Admin vom Aufbau der Rechtevergabe ziemlich ähnlich zu sein.

Wichtige Links:

Rechtevergabe http://wiki.ubuntuusers.de/Rechte  

                            https://wiki.archlinux.de/title/Rechteverwaltung

                            http://www.cl.uni-heidelberg.de/computerpool/pooldoku/html/ch13.html

chmod                http://wiki.ubuntuusers.de/chmod

 

Literatur:

Echt super Bücher, da nicht nur einfach Screenshots gezeigt werden, sondern erst im Lesen das ganze 'wahre Wunder' sich offenbart.

 

Linux - Systemadinistration                 Springer Verlag ISBN:  978-3-540-20399-0

Denian GNU/Linux     3. Auflage          Springer Verlag ISBN:   978-3-540-73338-6