Rechtevergabe bei Dateien - nur ein Beispiel?

5 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Das Beispiel soll einfach nur die Veränderung zwischen 641 und 755 aufzeigen.

Eine Datei kann natürlich immer nur eine einzige Rechte Kombination enthalten. Im Hintergrund könnten noch zusätzlich ACLs vergeben werden, wovon aber im allgemeinen abzuraten ist.


Tichuspieler 
Beitragsersteller
 04.06.2024, 09:11

Guten Morgen,

vielen lieben Dank für Deine Antwort. Ich habe zwar auch vermutet, dass es sich um ein Beispiel handelt, aber bei dem Buch, aus dem ich lerne, bin ich mir da wirklich nicht sicher gewesen (der Autor schreibt da ein bisschen verwirrend).
Allerdings muss ich gestehen, dass ich noch nicht so weit bin, dass mir ACLs etwas sagen. Magst Du einem DAU mir das in einfachen Worten erklären und auch, warum davon abzuraten ist?

HarryXXX  04.06.2024, 09:16
@Tichuspieler

ACLs sind relativ detaillierte Zugriffsrechte, die man mit dem Kommando setfacl setzen kann. Allerdings kann er sie auch nur mit dem Kommando getfacl sichtbar machen. Das ganze erhöht also nicht unbedingt die Übersichtlichkeit, weil ich dann die Rechte auf zwei verschiedene Arten überprüfen muss. Hinzu kommt, dass diese Rechte den mit chmod vergebenen Rechten widersprechen können. Das machst es dann noch unübersichtlicher. Das sollte man also nur in ganz gezielten Einzelfällen verwenden und nur wenn man sich auch wirklich damit auskennt.

Tichuspieler 
Beitragsersteller
 04.06.2024, 09:19
@HarryXXX

Ah, okay.
Danke auch für die Antwort. Ich werde da meine Fingerchen von lassen (außer, wenn ich vielleicht in geschätzt 200 Jahren mal Profi sein sollte ...:-D ;-) )

Leserechte eine "4" haben

Das ist nicht falsch aber Leserechte hat man nicht nur mit der 4, sondern auch mit 5 , 6 oder 7 .
Die Rechte werden als Bit-Zustände mit je 3 Bit codiert (für World, Group und Owner getrennt). Für die r w und x steht dann je ein Bit

r w x
0 0 0 -> 0
0 0 1 -> 1
0 1 0 -> 2
0 1 1 -> 3
1 0 0 -> 4
1 0 1 -> 5
1 1 0 -> 6
1 1 1 -> 7

wenn da eine 0 steht ist das Recht entzogen, bei einer 1 ist es erlaubt.
Für jemanden, der die hexadezimale Darstellung im Kopf in die Bits umdenken kann, dann ist die 4 der Bit-Code 1 0 0 , in dem Falle "nur lesen erlaubt"
Mit einer 5 , also 1 0 1 bedeutet das Lesen und Ausführen sind erlaubt.

Da so ein Bitfolge mit den Zahlen 0 bis 7 nicht nur für den Besitzer sondern auch für die Benutzter-Gruppe und für Alle (World) sind immer 3 solcher Zahlen bei chmod notwendig.

Teile die in der Frage genannten Zahlen 641 und 755 auf.

Owner 6 bzw. 7 6 = rw. 7 = rwx
Gruppe 4 bzw. 5 4 = r-- 5 = r-x
World 1 bzw. 5 1 = --x 5 = r-x

Bei chmod kann man, wenn man es kann mit den Zahlenwerten oder mit Symbolen

wie chmod +r owner <datei>

siehe da lieber nochmal im Manual nach (man chown), ich benutzte nur die Zahlen.


Woher ich das weiß:Berufserfahrung – openSuSE seit 1995

Tichuspieler 
Beitragsersteller
 04.06.2024, 19:46

Hallo guenterhalt,

ja, da gebe ich Dir Recht. Ich habe das ein wenig unglücklich formuliert (war da ein bisschen "betriebsblind").
Ich hatte das in meinem Lehrbuch so verstanden, dass 4 für r, 2 für w und 1 für x steht und habe in meiner Frage (unbeabsichtigt) "ignoriert", dass bei einer 5, 6 und 7 die Leserechte auch mit bei sind. Dadurch kann es natürlich zu Missverständnissen kommen.

Lustigerweise kommt das mit den Buchstaben tatsächlich kurz hinter dem mit den Rechten mit den Zahlen. Allerdings wird neben den von Dir Erwähnten noch das "a" für "all" aufgeführt (bei den Rechten sogar noch das "s" für SUID).

guenterhalt  04.06.2024, 20:04
@Tichuspieler

hast du ein Linux-System auf deinem PC?
tippe mal
cd /

ls -l

und sie die Zeile an, in der das Directory /tmp angezeigt wird. Da steht:

drwxrwxrwt  1 root root 41664 4. Jun 19:58 tmp

finde mal raus was das t (statt x ) bedeutet. Unix oder Linux bietet viele schöne Dinge!!!

Tichuspieler 
Beitragsersteller
 04.06.2024, 20:25
@guenterhalt

Kurz gegoogelt: t steht für t-Bit, wird auch sticky-Bit genannt und besagt, dass das ausführende Programm nicht nach Beendigung aus dem Arbeitsspeicher gelöscht wird.

Ob das in meinem Buch kommt, weiß ich jedoch nicht (ich habe es mir als e-Book gekauft und ausgedruckt und komme leider nicht so schnell voran).

Ja das ganze ist nur ein Beispiel um das zu verdeutlichen. Der 2. chmod-Befehl überschreibt quasi die Änderungen des 1.


Tichuspieler 
Beitragsersteller
 04.06.2024, 09:14

Guten Morgen,

vielen lieben Dank auch für Deine Antwort.
Ich habe zwar auch vermutet, dass es sich um ein Beispiel handelt, aber bei dem Buch, aus dem ich lerne, bin ich mir da wirklich nicht sicher gewesen (der Autor schreibt da ein bisschen verwirrend).

Mit chmod setzt du die Berechtigungen. Daher würde ich darauf tippen, dass es ihm darum ging, die Auswirkungen verschiedener Einstellungen zu zeigen.


Tichuspieler 
Beitragsersteller
 04.06.2024, 09:09

Guten Morgen,

vielen lieben Dank für Deine Antwort. Ich habe zwar auch vermutet, dass es sich um ein Beispiel handelt, aber bei dem Buch, aus dem ich lerne, bin ich mir da wirklich nicht sicher gewesen (der Autor schreibt da ein bisschen verwirrend).

Führt man chmod aus verändert dies den Aktuellen wert der betreffenden Datei.

Listet man die Datei VOR dem ausführen von chmod ,dann sieht man die Ursprüngliche Rechtevergabe.

Danach führt man chmod aus und verändert die. Danach listet man die Datei erneut auf und sieht die veränderten Rechtevergaben.

Macht durchaus sinn.