Mount device with r/w access to specific user

96,761

Solution 1

There's no generic way to do exactly that. If the filesystem doesn't have a notion of file ownership, it probably has a mount option (uid) to decide which user the files will belong to. If the filesystem does have a notion of file ownership, mount it read-write, and users will be able to write every file they have permission to.

If you only want a specific user to access the filesystem, and there is a FUSE driver for it, then arrange for the user to have read-write access to the device and mount it through FUSE as that user.

Another way to only let a specific user (or a specific group, or better fine-tuning through an ACL) is to place the mount point underneath a restricted-access directory:

mkdir -p /media/restricted/joe/somedisk
chown joe /media/restricted/joe/somedisk
chmod 700 /media/restricted/joe/somedisk
mount /dev/sdz42 /media/restricted/joe/somedisk

If you want some users to have read-write access and others to have read-only access regardless of file permissions, mount the filesystem read-write under a restricted access directory and use bindfs to make a read-only view of that filesystem.

bindfs -o perms=a-w /media/private/somedisk /media/public-read-only/somedisk

You can also make a bindfs view read-write to some users and read-only for others; see the -m and -M options in the bindfs man page. Remember to put the primary mount point under a directory that only root can access.

Solution 2

You can use the -o option, that will let you set up umask, owner and group owner for the mounted device.

For example :

mount -t vfat -o umask=0022,gid=33,uid=33 dev /var/www

That will mount a vfat device in /var/www with umask 0022, owner: user with ID 33, and group: group with ID 33.

Share:
96,761

Related videos on Youtube

aqwert
Author by

aqwert

Updated on September 18, 2022

Comments

  • aqwert
    aqwert over 1 year

    How can I mount some device with read-write access for a given user?