Ich habe ein kleines Shell-Skript mit folgendem Inhalt erstellt:
%Vor% Ich habe auch eine Datei /etc/myfile.cnf
mit root-Account erstellt und Berechtigungen wie folgt festgelegt:
Wenn ich /usr/bin/checksuid.sh
von einem Nicht-root-Konto aus führe, erhalte ich den folgenden Fehler:
Kann Ihnen jemand helfen, warum SUID nicht funktioniert?
Von Ссылка :
"Die Wahrheit ist, dass das Setuid-Bit bei vielen * nix-Implementierungen aufgrund der massiven Sicherheitslücken, die es verursacht, deaktiviert ist.
Ein alternativer Ansatz: Umhüllen Sie das Skript in etwas, das setuid verwenden kann, wie in diesem Beispiel c-Programm. Es gibt offensichtlich Unterschiede, wenn Sie einfach Ihr Skript aufrufen und einen solchen Wrapper verwenden (z. B. ignorierte Exit-Codes), aber das sollte Ihnen auf jeden Fall eine Idee geben.
%Vor%