Hallo Bernd,
Nein, Du darfst es, weil Du auch in der Gruppe tty bist. Geb das skript doch mal die Gruppe tty, und schau mal, was dann passiert.
Eine Lösung?
Jaaaa! Suuuuper! Endlich. Danke, Bernd! Habe mir mal alles in einem micro-Howto zusammengefaßt: Start eines Skriptes von .procmailrc aus ========================================== Ziel: in /home/<user>/.procmailrc soll bei bestimmten Mails ein Skript automatisch gestartet werden, das u.a. auch root-Befehle ausführt. Schwierigkeit: REchtevergabe Analyse des Ablaufes: * sendmail -q als root ausgeführt startet auch procmail. procmail hat also root-Rechte. * procmail von Suse 7.2 ist offenbar so programmiert, daß es das Skript unter dem user = owner des Skriptes und group = group des Skriptes startet. Das bedeutet: das Skript hat die Rechte des User und die Rechte der Gruppe des Skriptes. Das Skript hat NICHT die Rechte der Gruppe oder Gruppen, in der der User sonst zusätzlich ist. Durch Ausgabe von /usr/bin/id in dem Skript ist das zu verdeutlichen. * Superuser-Befehle können in dem Skript auf zwei Weise ausgeführt werden: 1. mit SUID-Flag: Dabei muß allerdings die Gruppe des Skriptes mit der Gruppe des superuser-Befehles übereinstimmen (voraus- gesetzt der owner des superuser-Befehls soll root bleiben und der owner des Skriptes eben nicht) 2. mit sudo : in sudoers wird der superuser-Befehl zur Ausführung freigegeben. Im Skript muß dann "sudo" vor dem superuser- Befehl stehen. Nachteil: die superuser-Rechte werden ohne SUID nicht an andere Befehle, Programme und devices weitergegeben Wer die Gruppen nicht anpassen kann, muß in diesem Fall zusätzlich SUID setzen. Dann ist die Anpassung der Gruppen *NICHT* mehr notwendig. Beispiel: isdncrtl braucht zur Ausführung /dev/isdninfo. isdninfo ist ein root - root -Device. Der Eintrag von isdnctrl in sudoers reicht nicht, um den Befehl auszuführen. Es muß entweder: * die Gruppe von isdnctrl an die des Skriptes angepaßt werden oder * isdnctrl zusätzlich zur Freigabe in sudoers das SUID-Flag erhalten. Ekkard