To mount a device with certain rights, you can use the -o Option
directive while mounting the device. To mount the device you described, run:
mount -t deviceFileFormat -o umask=filePermissions,gid=ownerGroupID,uid=ownerID /device /mountpoint
For example mounting a VirtualBox shared folder to /var/www
with www-data
as owner would look like this:
mount -t vboxsf -o umask=0022,gid=33,uid=33 dev /var/www
If you want to mount the device on startup, you can add the following entry to your /etc/fstab
file:
/device /mountpoint deviceFileFormat umask=filePermissions,gid=ownerGroupID,uid=ownerUserID
Again, with the same example the entry to the /etc/fstab
file would look like this:
dev /var/www vboxsf umask=0022,gid=33,uid=33
For filesystems that does not support mounting as a specific user (like ext4) the above will give the error
Unrecognized mount option "uid=33" or missing value
to change the owner of an ext4 mount simply run
chown username /mountpoint
after it has been mounted.
1
I've been messing around with this problem in vbox for a while now too. From what I've gathered, the correct solution (to the question you aren't asking) is to add your user into the vboxsf group, and then it doesn't matter who the owner of the files are - you will have permission to edit them. http://alcobrov.blogspot.com/2012/06/add-user-in-vboxsf-group-to-access.html
– stevemidgley – 2014-08-23T00:00:31.780Don't forget gui=1000. Also, what is the ownership/rights to /var/www. It should be owned by root. – skub – 2011-08-08T12:57:47.133
1@skub: The owner of
/var/www/
is root.dev /var/www vboxsf rw, suid, dev, exec, auto, nouser, async, uid=1000 gui=1000
didin't work so well (Ubuntu removed the entry after a failed restart). – wowpatrick – 2011-08-08T21:14:20.3772Your mount source is "dev"?? – James T Snell – 2011-08-08T21:51:18.693
@wowpatrick - your mount device should be something like /dev/sda1 it should not be 'dev'. – skub – 2011-08-08T22:53:52.577
1@skub: It's a VirtualBox shared folder, so /dev is is right. I figured it out by now,
sudo mount -t vboxsf -o umask=0022,gid=33,uid=33 dev /var/www
works just fine. – wowpatrick – 2011-08-08T23:16:47.233Depending on what the device is for, you may also need to add stuff like "nosuid" for extra security. See
man mount
for the generic mount options andman [fs name]
for file system-specific ones. – billc.cn – 2011-08-09T00:08:35.527