Ich habe ein Shell-Script, das bei einer beliebigen Datei als Owner den User test_user und als Group users eintragen soll. Ausser dem sollen die Rechte auf 660 gesetzt werden. Wird das Script vom User root ausgeführt, dann funktioniert es natuerlich voellig korrekt. Wird es von eine normalen User ausgefuehrt, dann kommt die Fehlermeldung: "Operation not permitted" Jetzt habe ich den root zum Owner des Shell-Scripts gemacht und habe das set_uit-Bit und das set_git-Bit gesetzt. Ich nahm an, dass man dadurch waehrend der Ausfuehrung des Scripts root-Berechtigung haette. Doch das Script funktioniert nicht und bringt weiterhin die Fehlermeldung. Kann mir bitte jemand sagen, was ich falsch gemacht habe, bzw. wo ich einen gedanklichen Fehler habe. Danke
Programmieren - alles kontrollieren 4.939 Themen, 20.672 Beiträge
Das Setuid Bit wirkt sich nur auf kompilierte ausführbare Programme aus
und funktioniert aus Sicherheitsgründen nicht bei Shell Scripten.
Gleiches gilt für das Setgid Bit.
Auf welchem Unix arbeitest Du?
Unter Solaris gibt es z. B. einen Schalter POSIX_RESTRICTED.
Das ist eine systemweite Kerneleinstellung, die den Zugriff auf
chown und chgrp nur für den Administrator freigibt.
Diese Einstellung wird bei der Installation des Solaris vergeben
und kann meines Wissens nicht mehr nachträglich geändert werden.