Hallo, On Mon, 01 Apr 2002 at 20:52 (+0200), Ratti wrote:
ich möchte auf meinem apache einige cgi-scripte verwenden, die tief ins System eingreifen und daher root-Rechte benötigen.
Wahrscheinlich verwendest Du die Programmiersprache Perl. Für sowas gibt es /usr/bin/suidperl, das allerdings bei SuSE aus Sicherheitsgründen standardmäßig nicht mit dem SUID-Bit ausgestattet ist. Kann man aber leicht nachholen. Dann muss noch das Skript mit passenden Rechten versehen werden (also SUID-Bit gesetzt, User root) und dann sollte es gehen! Die Shebang-Line muss nicht in /usr/bin/suidperl geändert werden. Anscheinend ist Perl selbst so schlau und ruft suidperl bei Bedarf auf. Nein, /usr/bin/perl hat bei mir _keine_ SUID-Rechte: $ ls -l /usr/bin/perl -rwxr-xr-x 2 root root 775822 Mai 11 2001 /usr/bin/perl $ ls -l /usr/bin/suidperl -rwsr-xr-x 2 root root 777442 Mai 11 2001 /usr/bin/suidperl Wenn ich /usr/bin/suidperl auf die gleichen Rechte wir /usr/bin/perl setze, was bei SuSE standardmäßig der Fall ist, verabschiedet sich das Skript nur mit "Can't do setuid". ========================= test.pl ========================= #!/usr/bin/perl open (FILE, "/etc/shadow") or die "Could not ...: $!"; while (<FILE>) { if ($. == 5) { print; } } close FILE or die "Could not ...: $!"; ============================================================ $ ls -l test.pl -rwsrwsr-x 1 root root 165 Apr 2 09:22 test.pl $ ./test.pl news:*:8902:0:10000:::: HTH. Keine Garantien bzgl. Sicherheit von mir! Gruß, Bernhard -- Freedom is just another word for nothing left to lose, Nothing don't mean nothing honey if it ain't free, now now. And feeling good was easy, Lord, when Bobby sang the blues, You know feeling good was good enough for me, Good enough for me and my Bobby McGee. -- Janis Joplin