Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Aug 2000 15:14:45 +0200
From:      Marc Silver <marcs@draenor.org>
To:        jan@ic.unicamp.br
Cc:        FreeBSD Questions <freebsd-questions@freebsd.org>
Subject:   Re: allow users to mount CD
Message-ID:  <20000814151445.C770@draenor.org>
In-Reply-To: <20000813180747.C429@abstract.dhis.net>; from janpf@iname.com on Sun, Aug 13, 2000 at 06:07:47PM -0300
References:  <20000813180747.C429@abstract.dhis.net>

next in thread | previous in thread | raw e-mail | index | archive | help

--tqI+Z3u+9OQ7kwn0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hey there,                                                                                                     
                                                                                                               
As far as I know there isn't something like this in FreeBSD.  However,                                         
please find attached a short c program written by Omachonu Ogali that                                          
allows normal users to mount the cdrom (you can obviously modify it to                                         
mount the floppy as well).  To install it, simply do the following:  (as                                       
root)                                                                                                          
                                                                                                               
cc -o sucd sucd.c                                                                                              
chmod 4555 sucd                                                                                                
mv sucd /usr/local/bin                                                                                         
                                                                                                               
What you're doing there is setting the binary as setuid which allows                                           
people to execute it as root, and allows them to mount/unmount the CD.                                         
                                                                                                               
I would warn against this.  ONLY root should ever mount/unmount file                                           
systems, so unless you _really_ trust these users, I wouldn't allow                                            
this.                                                                                                          
                                                                                                               
Hope this helps.                                                                                               
Cheers,                                                                                                        
Marc 

On Sun, Aug 13, 2000 at 06:07:47PM -0300, Jan Pfeifer wrote:
> hi,
> 
> How do I let users mount a CD, or any other mount point ?
> 
> thanks,
> 
> jan
> 
> ps.: I tried the mount and fstab manpages to no avail
> ps2.: I wanted to avoid to make a suid script to do this ...

--tqI+Z3u+9OQ7kwn0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="sucd.c"

/*
 * suCD 0.1
 * --------
 * Allows regular (non-root) users to mount the cdrom
 * - Omachonu Ogali <oogali@tribune.intranova.net>
 */
 
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
 
int main(int argc, char **argv)
{
        printf("suCD 0.1\n");
        printf("oogali@tribune.intranova.net\n\n");
 
        if (getuid() != 0) {
                if (seteuid(0) != 0) {
                        perror("seteuid()");
                        return -1;
                }
        }
        
        if (argc < 2) {
                system("/sbin/mount /cdrom");
        } else {
                if (strcmp(argv[1], "mount") == 0) {
                        system("/sbin/mount /cdrom");
                } else if (strcmp(argv[1], "unmount") == 0) {
                        system("/sbin/umount /cdrom");
                } else {
                        printf("%s [action]\n");
                        printf("[action] may be either 'mount' or 'unmount'.\n");
                        return -1;
                }
        }

        return 0;
}

--tqI+Z3u+9OQ7kwn0--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000814151445.C770>