ACL - gewährt nur Lesezugriff, *nicht* Ausführungszugriff

ACL - gewährt nur Lesezugriff, *nicht* Ausführungszugriff

Ich habe ein Verzeichnis namens /test. Darin befinden sich zwei Dateien:

info.txt
script.sh

Ich möchte dem Benutzer John nur Lesezugriff gewähren und habe Folgendes getan:

setfacl -m u:john: r test/

Mit dem obigen Befehl kann John nicht auf den Ordner zugreifen, da ihm die Ausführungsberechtigung fehlt. Daher habe ich es hiermit noch einmal versucht:

setfacl -m u:john: rx test/

OK, jetzt funktioniert es: Benutzer John kann auf den Ordner zugreifen und die Dateien lesen.

Jedoch, er kann script.sh ausführen. Letztere Berechtigung wollte ich ihm eigentlich nicht erteilen. Wie soll ich vorgehen?

Antwort1

Sie könnten das tun chmod o-x test/script.sh, aber das ist sinnlos. Der Benutzer könnte die Datei einfach in sein Home-Verzeichnis kopieren, sie ausführbar machen und von dort aus ausführen. Sie wird trotzdem mit den Berechtigungen des Benutzers ausgeführt, es sei denn, sie ist setuid. Und Shell-Skripte können nicht setuid sein, aber das Kopieren einer setuid-Datei entfernt das setuid-Bit trotzdem aus der Kopie.

verwandte Informationen