I thought linux wouldn't allow suid shell scripts to work as suid. 
The reasoning is a shell script doesn't quite execute, it gets
interpeted by the command on the first line.  Just as a test I made a
simple script modded root.root 4755 that consists of the /bin/bash
line, and cat /etc/shadow.  Root can run just fine obviously, but
permissions don't exist for other users to do that.

What may work a little better is either chmod s+x `which shutdown`, or
writing a C wrapper and modding that s+x.

On 7/20/05, Mark Knecht <[EMAIL PROTECTED]> wrote:
> On 7/20/05, Richard Fish <[EMAIL PROTECTED]> wrote:
> > Mark Knecht wrote:
> >
> > >Hi,
> > >   I'm trying to get my mythfrontend box to allow a user to shut the
> > >machine down without the use of a keyboard. We are only using remote
> > >controls. suso doesn't seem to be an option because it requires a
> > >password. (AFAICT)
> > >
> > >   Is there some other way that I could make this work?
> > >
> > >
> > >
> >
> > 2 options:
> >
> > 1. Sudo can be setup to allow some commands to be run without a
> > password.  I think this entry in /etc/sudoers should work:
> >
> > mythtv ALL = NOPASSWD: /sbin/shutdown
> 
> Yes, I have this working. My problem with this solution was slightly
> deeper. To get MythTV to execute this command I have to put 'sudo
> shutdown -h now' in a setup screen within the setup portion of
> mythfrontend. In a general sense I don't know how to do that without a
> keyboard being attached to the machine. So far I haven't found where
> MythTV stores this information so that I could edit it from an ssh
> login.
> 
> Granted I can attach a keyboard for a few minutes when the machine is
> here at my house, but I'm hesitant to use a solution that I cannot fix
> via ssh when the machine is remote at my folks house.
> 
> >
> > I have not tested this, so if something goes wrong, you'll have to try
> > and figure out "man sudoers".
> >
> > 2. Create a setuid (chmod 4711 /sbin/shutdown_by_anyone.sh) shell script
> > that runs shutdown.  Be sure to export the PATH, and unset LD_PRELOAD
> > and LD_LIBRARY_PATH variables at the very beginning of the script.  Also
> > make sure the interpreter line is "/bin/bash --".  This doesn't fix all
> > of the security holes with setuid shell scripts, just the most common
> > and easiest to fix...
> 
> I don't know how this is much of a security issue for me, but then
> again I don't know much about security, and I suppose it could be if
> someone plugs a keyboard in and wants to cause some harm. Shame on
> them, but good of you to consider it.
> 
> Thanks,
> Mark
> 
> --
> gentoo-user@gentoo.org mailing list
> 
>

-- 
gentoo-user@gentoo.org mailing list

Reply via email to