How to Enable Suidperl in FreeBSD
Enable Suidperl In FreeBSD
Due to security issues, by default Perl installation in FreeBSD does not compiles with SUIDPERL. There are 2 ways to enable SUIDPERL in FreeBSD.
First, it make it a “global” configuration in /etc/make.conf, so whenever there is port upgrade for Perl, it will compile with Suidperl. Edit the file /etc/make.conf and put ENABLE_SUIDPERL=true.
Second method and invoke ENABLE_SUIDPERL when run make command on Perl installation.
shell> cd /usr/ports/lang/perl shell> make -DENABLE_SUIDPERL install
By default suidperl executable file is located at /usr/bin/suidperl, you might want to symlink to /usr/local/bin/suidperl
shell> ln -s /usr/bin/suidperl /usr/local/bin/suidperl
You might also want to look into the “portconf” port (“ports-mgmt/portconf”), which allows you to specify such flags without needing to modify /etc/make.conf (you instead modify a file in /usr/local/etc)
With Perl 5.12 suidperl has been removed.
This applies to FreeBSD (in fact, to all platforms), I have yet to find a decent workaround on FreeBSD (this is causing me a load of problems, completely broken one of my sites..)
Above techniques will not work if you have Perl > 5.12 on Freebsd.
Owen, may be revert back to version 5.12 is a better idea, I still running on 5.10 because of needed suidperl for some of my applications.
Btw, it’s not FreeBSD thingy, it’s Perl removes SuidPerl from version 5.12 onward.