[gelöst] ---r-xr-- bin in gruppe habe aber keinen Zugriff auf Datei

Probleme mit Samba, NFS, FTP und Co.
Antworten
Benutzeravatar
101010
Beiträge: 31
Registriert: 05.05.2018 22:48:25
Wohnort: NRW

[gelöst] ---r-xr-- bin in gruppe habe aber keinen Zugriff auf Datei

Beitrag von 101010 » 03.11.2019 22:42:13

Hallo,

ich habe eine Datei erstellt "ausf.sh" und die Rechte mit chmod so eingestellt:

Code: Alles auswählen

----r-xr-- 1 usa testgruppe 24 Okt 31 16:46 ausf.sh
Ich selbst bin usa und Mitglied in der Gruppe testgruppe. Also gehe ich davon aus, dass ich mit ./ausf.sh die Datei ausführen kann. Es geht aber nicht. Ich erhalte die Rückmeldung "keine Berechtigung". Das ist doch nicht logisch? Ich bin doch in der Gruppe.

Die Datei selbst ist primitiv und sieht so aus:

Code: Alles auswählen

#!/bin/bash

echo "hi"
Wenn ich mir folgende Rechte gebe:

Code: Alles auswählen

-rw-r-xr-- 1 usa testgruppe 24 Okt 31 16:46 ausf.sh
kann ich zumindest mit sh ausf.sh das Skript ausführen. Das finde ich auch komisch, denn meine Gruppe darf doch lesen...


Habe ich etwas grundsätzliches am Rechtesystem von Linux nicht verstanden?
Zuletzt geändert von 101010 am 04.11.2019 17:30:31, insgesamt 1-mal geändert.

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: ---r-xr-- bin in gruppe habe aber keinen Zugriff auf Datei

Beitrag von Meillo » 03.11.2019 23:28:30

Die Rechte werden der Reihe nach geprueft. Wenn du der Besitzer der Datei bist, gelten fuer dich die Besitzerrechte. Die Gruppenrechte werden dann gar nicht mehr angeschaut.
Use ed once in a while!

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Re: ---r-xr-- bin in gruppe habe aber keinen Zugriff auf Datei

Beitrag von Lohengrin » 03.11.2019 23:51:15

Meillo hat geschrieben: ↑ zum Beitrag ↑
03.11.2019 23:28:30
Die Rechte werden der Reihe nach geprueft. Wenn du der Besitzer der Datei bist, gelten fuer dich die Besitzerrechte. Die Gruppenrechte werden dann gar nicht mehr angeschaut.
Außer man ist root. Root kann man nicht mit so etwas vor sich selbst schützen.

Code: Alles auswählen

# cat test
#!/bin/bash
echo geht
exit 0
# ls -l test
---------x 1 root root 30 Nov  3 23:05 test
# ./test
geht
#
Harry, hol schon mal das Rasiermesser!

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: ---r-xr-- bin in gruppe habe aber keinen Zugriff auf Datei

Beitrag von Meillo » 04.11.2019 06:40:18

Lohengrin hat geschrieben: ↑ zum Beitrag ↑
03.11.2019 23:51:15
Außer man ist root.
Genau. Root darf alles.

Es laeuft so ab:

1) Bist du root, dann darfst du sowieso.
2) Bist du der Besitzer, dann gelten die Besitzerrechte.
3) Gehoerst du zur Gruppe, dann gelten die Gruppenrechte.
4) Sonst gelten fuer dich die Reste fuer den Rest.

Das erste was zutrifft gilt.
Use ed once in a while!

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: ---r-xr-- bin in gruppe habe aber keinen Zugriff auf Datei

Beitrag von MSfree » 04.11.2019 08:19:07

Meillo hat geschrieben: ↑ zum Beitrag ↑
04.11.2019 06:40:18
1) Bist du root, dann darfst du sowieso.
Jein. Eine Datei ohne Executable-Bit darf auch root nicht ausführen. Root darf das Executable-Bit allerdings jederzeit setzen..

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: ---r-xr-- bin in gruppe habe aber keinen Zugriff auf Datei

Beitrag von Meillo » 04.11.2019 12:07:02

MSfree hat geschrieben: ↑ zum Beitrag ↑
04.11.2019 08:19:07
Meillo hat geschrieben: ↑ zum Beitrag ↑
04.11.2019 06:40:18
1) Bist du root, dann darfst du sowieso.
Jein. Eine Datei ohne Executable-Bit darf auch root nicht ausführen. Root darf das Executable-Bit allerdings jederzeit setzen..
Wie passt diese Behauptung zu Lohengrins Demonstration?

Oder reicht fuer root ein beliebiges Executable-Recht, egal wer es hat?
Use ed once in a while!

willy4711

Re: ---r-xr-- bin in gruppe habe aber keinen Zugriff auf Datei

Beitrag von willy4711 » 04.11.2019 12:44:34

Meillo hat geschrieben: ↑ zum Beitrag ↑
04.11.2019 12:07:02
Oder reicht fuer root ein beliebiges Executable-Recht, egal wer es hat?
Scheint so zu sein

Code: Alles auswählen

willy@debianxfce:~$ ls -al /home/willy/Dokumente/Skripte/aaa
---------x 1 willy willy 29 Nov  4 12:38 /home/willy/Dokumente/Skripte/aaa

Code: Alles auswählen

willy@debianxfce:~$  /home/willy/Dokumente/Skripte/aaa
bash: /home/willy/Dokumente/Skripte/aaa: Keine Berechtigung

Code: Alles auswählen

willy@debianxfce:~$ su
Passwort: 
root@debianxfce:/home/willy# /home/willy/Dokumente/Skripte/aaa
geht
Root kann es auch lesen / editieren

Edit:

Was mich aber wundert (willy ist Mitglied bei willy :P ):

Code: Alles auswählen

~$ cat /etc/group |grep 1001
willy:x:1001:willy

Code: Alles auswählen

~$ ls -al /home/willy/Dokumente/Skripte/aaa
------x--x 1 willy willy 29 Nov  4 12:38 /home/willy/Dokumente/Skripte/aaa

willy@debianxfce:~$ /home/willy/Dokumente/Skripte/aaa
bash: /home/willy/Dokumente/Skripte/aaa: Keine Berechtigung
Selbst das geht nicht: Weder lesen/schreiben noch ausführen : :evil:

Code: Alles auswählen

~$ chmod g+rw /home/willy/Dokumente/Skripte/aaa

willy@debianxfce:~$ ls -al /home/willy/Dokumente/Skripte/aaa
----rwx--x 1 willy willy 29 Nov  4 12:38 /home/willy/Dokumente/Skripte/aaa

willy@debianxfce:~$ /home/willy/Dokumente/Skripte/aaa
bash: /home/willy/Dokumente/Skripte/aaa: Keine Berechtigung
Zuletzt geändert von willy4711 am 04.11.2019 13:22:58, insgesamt 1-mal geändert.

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: ---r-xr-- bin in gruppe habe aber keinen Zugriff auf Datei

Beitrag von Meillo » 04.11.2019 13:18:43

@willy4711: Dieser Fall (`chmod 001') wurde schon oben gezeigt und er entspricht dem was ich behauptet habe. Interessant ist der Fall, wenn *kein* Executable-Bit gesetzt ist und selbst root die Datei dann nicht ausfuehren darf.


Hier eine Shell-Session dazu:

Code: Alles auswählen

:-L cd /tmp

:-L ed a
a: No such file or directory
a
#!/bin/sh
echo foo
.
w
19
q

:-L chmod 000 a   

:-L ll a
---------- 1 meillo meillo 19 2019-11-04 13:06 a

:-L sudo ./a
[sudo] password for meillo: 
sudo: ./a: command not found

:-L sudo /tmp/a 
sudo: /tmp/a: command not found

:-L chmod g+x a

:-L ll a
------x--- 1 meillo meillo 19 2019-11-04 13:06 a*

:-L sudo /tmp/a
foo

:-L cat a
mksh: cat: a: Permission denied

:-L sudo cat a
#!/bin/sh
echo foo

:-L sudo bash a
foo

:-L chmod 000 a

:-L ll a
---------- 1 meillo meillo 19 2019-11-04 13:06 a

:-L sudo bash a
foo

:-L 
Ich vermute mal, dass folgendes der Hintergrund ist: Frueher war es ueblich `.' in $PATH zu haben, und zwar vorne dran. Ausfuehrbare Dateien im aktuellen Verzeichnis werden dann aufgerufen, wenn man ihren Namen auf der Kommandozeile eingibt. Wenn root alles ausfuehren koennte, dann wuerde jede Datei im aktuellen Verzeichnis ausgefuehrt werden, wenn man ihren Namen als Befehl eingibt. Die meisten Dateien kann man gar nicht ausfuehren, insofern macht es Sinn, dies auch nicht zu tun, es sei denn, sie waeren als ausfuehrbar gekennzeichnet ... fuer root ist dann aber egal wo.


Das betrifft nur das Ausfuehren von Dateien, nicht aber das Executable-Bit mit seiner Bedeutung fuer Directories:

Code: Alles auswählen

:-L mkdir b

:-L touch b/c

:-L chmod 000 b

:-L ll -d b
d--------- 2 meillo meillo 4096 2019-11-04 13:14 b/

:-L ls b
ls: cannot open directory b: Permission denied

:-L cd b
mksh: cd: /tmp/b: Permission denied

:-L sudo ls b
c

:-L sudo bash -c 'cd b; ls'
c

:-L 
Use ed once in a while!

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: ---r-xr-- bin in gruppe habe aber keinen Zugriff auf Datei

Beitrag von Meillo » 04.11.2019 13:22:20

willy4711 hat geschrieben: ↑ zum Beitrag ↑
04.11.2019 12:44:34
Was mich aber wundert (willy ist Mitglied bei willy :P ):

Code: Alles auswählen

~$ cat /etc/group |grep 1001
willy:x:1001:willy

Code: Alles auswählen

~$ ls -al /home/willy/Dokumente/Skripte/aaa
------x--x 1 willy willy 29 Nov  4 12:38 /home/willy/Dokumente/Skripte/aaa

willy@debianxfce:~$ /home/willy/Dokumente/Skripte/aaa
bash: /home/willy/Dokumente/Skripte/aaa: Keine Berechtigung
Siehe oben: viewtopic.php?f=9&t=175331#p1221531 ;-)
Use ed once in a while!

willy4711

Re: ---r-xr-- bin in gruppe habe aber keinen Zugriff auf Datei

Beitrag von willy4711 » 04.11.2019 13:36:52

Bliebe die Frage, was dann überhaupt noch Gruppenrechte bewirken können.

Jetzt verstanden nur wenn ein anderer Eigentümer ist, wird weiter geprüft :!:

Code: Alles auswählen

root@debianxfce:/home/willy# chown otto:willy /home/willy/Dokumente/Skripte/aaa

willy@debianxfce:~$ ls -al /home/willy/Dokumente/Skripte/aaa
----rwx--x 1 otto willy 29 Nov  4 12:38 /home/willy/Dokumente/Skripte/aaa

willy@debianxfce:~$ /home/willy/Dokumente/Skripte/aaa
geht
Wieder mal was gelernt :THX:
Zuletzt geändert von willy4711 am 04.11.2019 13:58:31, insgesamt 2-mal geändert.

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: ---r-xr-- bin in gruppe habe aber keinen Zugriff auf Datei

Beitrag von MSfree » 04.11.2019 13:50:23

willy4711 hat geschrieben: ↑ zum Beitrag ↑
04.11.2019 13:36:52
Bliebe die Frage, was dann überhaupt noch Gruppenrechte bewirken können.
Genau das, was sie bewirken können sollen. ---r-xr-- ist ein Sonderfall, der so eigentlich nicht sinnvoll ist, ausser zum Aussperren des Besitzers. In der Regel gibt man User, Gruppe, Welt Rechte mit absteigeenden Privilegien.

Und dann schau mal mit dem Befehl id nach, in welchen Gruppen du Mitglied bist. Bei mir sind das: dialout, cdrom, floppy, audio, dip, video und plugdev. Einiges z.B. floppy ist da sicherlich veraltet und könnte entsorgt werden. Wenn du aber irgendwas hörbares aus deinen Lautsprechern haben willst, mußt du Gruppenmitglied in der "audio"-Gruppe sein, weil die Audiogeräte nunmal rw-rw---- für audio.audio sind.

willy4711

Re: ---r-xr-- bin in gruppe habe aber keinen Zugriff auf Datei

Beitrag von willy4711 » 04.11.2019 14:10:58

Na ja , so ganz logisch ist das ja nicht.

Wechsele ich den Besitzer (s.O.) werden die Gruppenrechte geprüft, und die Datei wird ausgeführt.
Bin ich selbst der Besitzer, werden nur die Besitzerrechte geprüft, und ich fliege raus.

Aber ich habe es kapiert.

Edit:

otto kann die Datei dann genauso wie Root mit den Rechten ---------x ausführen.
upps hatte vergessen mich auszuloggen :facepalm:

Aber wie ist denn dann "andere Benutzer" (chmod o) definiert, wenn das nur für Root zutrifft :?:

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: ---r-xr-- bin in gruppe habe aber keinen Zugriff auf Datei

Beitrag von Meillo » 04.11.2019 15:24:41

Wie MSfree schon aufzeigt: normalerweise werden Rechte absteigend von Besitzer zu Gruppe zum Rest vergeben. Wenn ich nicht der Besitzer bin (der Schreibrechte hat) habe ich als Gruppenmitglied vielleicht nur noch Leserechte, alle anderen haben aber vielleicht gar keine Rechte auf eine Datei.

Die Gruppenbeispiele von MSfree treffen es auch gut.
Use ed once in a while!

Benutzeravatar
101010
Beiträge: 31
Registriert: 05.05.2018 22:48:25
Wohnort: NRW

Re: ---r-xr-- bin in gruppe habe aber keinen Zugriff auf Datei

Beitrag von 101010 » 04.11.2019 17:29:36

Ach Leute ich liebe dieses Forum einfach. Eine Frage und man bekommt das volle Infopaket!!!

Vielen Dank für Eure Posts. :THX:

Antworten