Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I need to allow a non-root user to mount/unmount a device. I am a total noob when it comes to UNIX, so please dumb it down for me.

I've been looking all over teh interwebz to find an answer and it seems everyone is giving the same one, which is to modify /etc/fstab to include that device with the user option (or users, tried both). I did that and it still says mount: only root can do that.

Here are the contents of my fstab:

# /etc/fstab: static file system information.
#
# Use 'vol_id --uuid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#                
proc            /proc           proc    defaults        0       0
# / was on /dev/mapper/minicc-root during installation
UUID=1a69f02a-a049-4411-8c57-ff4ebd8bb933 /               ext3    relatime,errors=remount-ro 0       1
# /boot was on /dev/sda5 during installation
UUID=038498fe-1267-44c4-8788-e1354d71faf5 /boot           ext2    relatime        0       2
# swap was on /dev/mapper/minicc-swap_1 during installation
UUID=0bb583aa-84a8-43ef-98c4-c6cb25d20715 none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0
/dev/scd0       /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0
/dev/sdb1   /mnt/sdcard auto    auto,user,rw,exec   0   0

My thumb drive partition shows up as /dev/sdb1. I'm pretty sure my fstab is set up OK, but everyone on the other posts seems to fail to mention how they actually call the mount command once this entry is in the fstab file. I think this is where my problem may be. The command I use to mount the drive is:

$ mount /dev/sdb1 /mnt/sdcard

/bin/mount is owned by root and is in the root group and has 4755 permissions.
/bin/umount is owned by root and is in the root group and has 4755 permissions.
/mnt/sdcard is owned by me and is in one of my groups and has 0755 permissions.

My mount command works fine if I use sudo, but I need to be able to do this without sudo (need to be able to do it from a PHP script using shell_exec). Any suggestions?

share|improve this question
    
Please don't use expressions like "teh interwebz", that's just distracting. –  Georg Schölly May 25 '10 at 18:37
7  
I would much rather see "teh interwebz" injected with humor and personality than see someone use "u", "ur", "any1" and the like out of laziness and ignorance. My point is that there's a difference and it's apparent based on the context. –  Dennis Williamson May 25 '10 at 18:47

3 Answers 3

up vote 13 down vote accepted

When mounting a volume as a regular user, you only need to provide the mount point name, i.e.:

mount /mnt/sdcard

The /etc/fstab file provides the device that will be used.

share|improve this answer
1  
Or you can mount the device and fstab will supply the mount point. –  Dennis Williamson May 25 '10 at 18:04
    
AHA! I figured it would be something wrong with my command syntax. SO glad it was something simple. Thanks!!! Awarding the answer to this post since it was the most direct and descriptive solution to MY problem, although Dennis's answer also suggested this and would have also solved the problem. –  Travesty3 May 25 '10 at 18:12

Try changing ownership of /dev/sdb1 to root:

chown root:root /dev/sdb1

and your fstab line to

/dev/sdb1   /mnt/sdcard auto    rw,user,noauto,exec,utf8   0   0

And do your mount like this:

mount /dev/sdb1
share|improve this answer
    
Thanks for the response! Your solution would have also solved the problem, and hopefully others reading this post will be helped by your other suggestions as well. Thanks again! –  Travesty3 May 25 '10 at 18:16

I think auto option does the mess up. Replace it wih noauto.

share|improve this answer
    
note that's the "auto" in "auto,user,rw,exec", not the standalone "auto". the standalone "auto" is for detecting the filesystem to use and should be fine. –  quack quixote May 25 '10 at 17:25
    
nope, same problem. changed it to say /dev/sdb1 /mnt/sdcard auto noauto,user,rw,exec 0 0. not sure if it was necessary or not, but since this is a dev server and i can, i did restart the computer after modifying the fstab file, to no avail. thank you for the suggestion tho, keep em coming! –  Travesty3 May 25 '10 at 17:40

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.