Von den Namen program.sh
, ich bin zu raten, dass Sie versuchen, eine interpretierte Skript auszuführen, keine ELF - Binaries. Linux hat das Setuid-Bit in Skripts aufgrund von möglichen Sicherheitsproblemen (Racebedingung zwischen dem Kernel, der das Bit + überprüft, und dem Skriptinterpreter, der die Datei öffnet) ignoriert .
Wenn dieses Skript für bestimmte Benutzer verfügbar sein muss, erstellen Sie sudo
in / etc / sudoers eine Regel, die Folgendes zulässt:
xyz ALL=(root:root) NOPASSWD: /usr/local/bin/program.sh
Möglicherweise gibt es andere Lösungen. Wenn Sie beispielsweise (bei der ersten Anmeldung) Heimatverzeichnisse automatisch erstellen möchten, ist hierfür das pam_mkhomedir.so
PAM-Modul vorhanden.