Established method to enable suid scripts?

Greg Larkin glarkin at FreeBSD.org
Wed May 11 16:48:44 UTC 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 5/11/11 12:31 PM, Alejandro Imass wrote:
> On Wed, May 11, 2011 at 10:14 AM, Jerry McAllister <jerrymc at msu.edu> wrote:
>> On Tue, May 10, 2011 at 05:54:04PM -0700, Chris Telting wrote:
>>
>>> I've googled for over an hour.
> 
> As other have said suiding on scripts is not allowed in modern
> versions of Unix. What I do for example, is create small C programs
> suid them and use those special suid execs to do special stuff. For
> example, if I need to erase some files created by the mysql daemon
> process I will create a C exec called suidrm and have it suid to the
> mysql owner so I can remove the temp files from an Apache CGI for
> example. Any suid exec should be carefully evaluated and meant for one
> specific thing, and avoid suiding to root if at all possible. If you
> must you can copy the exec with a different name and suid it for a
> specific purpose with a specific user, preferably not root.
> 
> Anyway, with the simple C program wrapper approach I have solved many
> things like what you're trying to do.
> 
> Best,
> 
> --
> Alejandro Imass

To the OP and others - you'll find tons of hits for "setuid wrapper" in
Google
(http://www.google.com/search?q=setuid+wrapper&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a),
but be very careful if you decide to compile one of them for use in your
environment.

It might be worth checking out some of the Apache suEXEC documentation
to understand all of the security checks they have implemented:
http://httpd.apache.org/docs/2.2/suexec.html

Hope that helps,
Greg
- -- 
Greg Larkin

http://www.FreeBSD.org/           - The Power To Serve
http://www.sourcehosting.net/     - Ready. Set. Code.
http://twitter.com/cpucycle/      - Follow you, follow me
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk3KveUACgkQ0sRouByUApBP6wCeOuMVod5erYOtYQqTDVmgcmaP
fdsAoMUMrPkJWvs2ZZEOMMgmVBu2xlcv
=h1f6
-----END PGP SIGNATURE-----


More information about the freebsd-questions mailing list