Hi,

I'm trying to chroot and drop privileges in a perl script. But somehow
I'm not even able to run it setuid root. The setuid bit gets ignored
completely. But as I understand sys/sys/exec_script.h. The
SETUIDSCRIPTS feature is enabled by default. What am I missing?


/tmp% ls -l test.pl 
-rwsrwx---  1 root  wheel  165 Apr 24 21:07 test.pl
/tmp% cat test.pl 
#!/usr/bin/perl -wT

use strict;

sub ids () { print "RUID=$< EUID=$> RGID=$( EGID=$)\n" }

ids;
$< = $> = 1000;
ids;
$> = $< = 0;
ids;
/tmp% ./test.pl 
RUID=1000 EUID=1000 RGID=10 10 0 5 9 117 501 1001 EGID=10 10 0 5 9 117 501 1001
RUID=1000 EUID=1000 RGID=10 10 0 5 9 117 501 1001 EGID=10 10 0 5 9 117 501 1001
RUID=1000 EUID=1000 RGID=10 10 0 5 9 117 501 1001 EGID=10 10 0 5 9 117 501 1001

Reply via email to