Date: Mon, 16 Jun 1997 13:22:55 -0400 From: Randall Hopper <rhh@ct.picker.com> To: Steve Hovey <shovey@buffnet.net> Cc: questions@freebsd.org Subject: Re: Set execution UID on script -- A Question Message-ID: <19970616132255.62171@ct.picker.com> In-Reply-To: <Pine.BSI.3.95.970611092114.9324C-100000@buffnet11.buffnet.net>; from Steve Hovey on Wed, Jun 11, 1997 at 09:21:25AM -0400 References: <01BC75C2.A3B27CA0.ellis@kcc.com> <Pine.BSI.3.95.970611092114.9324C-100000@buffnet11.buffnet.net>
next in thread | previous in thread | raw e-mail | index | archive | help
|Shell scripts cant be suid for security reasons. Are there any inherent problems with the setuid scheme used on Solaris boxes (aside from logic problems introduced by the script writer)? If not, we might consider switching to that method. Seems like part of the differences involve the passing of the name of the script to the interpreter via /dev/fd/3 rather than passing a pathname on the command-line. To write setuid scripts on Solaris one simply uses: "#!/bin/sh -p" or "#!/bin/csh -fb" at the top of scripts, where: SH: -p If the -p flag is present, the shell will not set the effective user and group IDs to the real user and group IDs. CSH: -b Force a break from option processing. Subsequent command line arguments are not interpreted as C shell options. This allows the passing of options to a script without confusion. The shell does not run set-user-ID or set-group-ID scripts unless this option is present. -f Fast start. Read neither the .cshrc file, nor the .login file (if a login shell) upon startup. Of course, its up to the script writer to be sensible in writing the script, as in Perl (e.g. override PATH, etc.). But setuid perl is supported, so that's not really an issue. Randall Hopper
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970616132255.62171>