From owner-freebsd-current Sun Jan 14 10:55:37 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id KAA16314 for current-outgoing; Sun, 14 Jan 1996 10:55:37 -0800 (PST) Received: from news.st.rim.or.jp (news.st.rim.or.jp [202.255.181.3]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id KAA16306 for ; Sun, 14 Jan 1996 10:55:31 -0800 (PST) Received: (from uucp@localhost) by news.st.rim.or.jp (8.7.1/3.3W-rim1.0) with UUCP id DAA02092; Mon, 15 Jan 1996 03:54:29 +0900 (JST) Received: from us.and.or.jp (us.and.or.jp [127.0.0.1]) by us.and.or.jp (8.7.3/3.4W) with ESMTP id DAA24897; Mon, 15 Jan 1996 03:54:43 +0900 (JST) Message-Id: <199601141854.DAA24897@us.and.or.jp> To: Ollivier Robert Cc: current@freebsd.org Subject: Re: perl on -current does not setuid In-reply-to: "Ollivier Robert"'s message of "Sun, 14 Jan 1996 10:40:45 +0100." <199601140940.KAA01223@keltia.freenix.fr> Date: Mon, 15 Jan 1996 03:54:42 +0900 From: NIIMI Satoshi Sender: owner-current@freebsd.org Precedence: bulk > It seems that NIIMI Satoshi said: > > Perl on -current does not setuid if executed as setuid script. Perl5 > > in ports does. > > gnu/usr.bin/perl/perl doesn't. > gnu/usr.bin/perl/sperl does. Yes, I know. What I wanted to say is: In perl5: sa2c@us:~/tmp> cat setu-5 #!/usr/local/bin/perl5.001 print "ruid = $<, euid = $>\n"; sa2c@us:~/tmp> ls -l setu-5 -rwxr-xr-x 1 root user 59 Jan 15 03:30 setu-5* sa2c@us:~/tmp> ./setu-5 ruid = 1000, euid = 1000 sa2c@us:~/tmp# chmod u+s setu-5 sa2c@us:~/tmp> ls -l setu-5 -rwsr-xr-x 1 root user 59 Jan 15 03:30 setu-5* sa2c@us:~/tmp> ./setu-5 ruid = 1000, euid = 0 ~ But in perl4: sa2c@us:~/tmp> cat setu-4 #!/usr/bin/perl print "ruid = $<, euid = $>\n"; sa2c@us:~/tmp> ls -l setu-4 -rwxr-xr-x 1 root user 48 Jan 15 03:36 setu-4* sa2c@us:~/tmp> ./setu-4 ruid = 1000, euid = 1000 sa2c@us:~/tmp# chmod u+s setu-4 sa2c@us:~/tmp> ls -l setu-4 -rwsr-xr-x 1 root user 48 Jan 15 03:36 setu-4* sa2c@us:~/tmp> ./setu-4 ruid = 1000, euid = 1000 ~~~~ Perl compiled with DOSUID executes suidperl (/usr/bin/sperl4.036) if script is setuid or setgid. This feature is worth for me because I can test a script without setuid and install it by "install -c -m 4511". I must be a root only on installation. Sorry for my English. -- NIIMI Satoshi