I was under the impression that any sort of call to mount requires root privileges.
But recently I was told “You should instead create appropriate entries in /etc/fstab so that the filesystems can be mounted by unprivileged users”… which is counter to my experience using mount.
Anytime I have used mount I have needed to sudo it. (I have only used mount for mounting network drives. Specifically cifs type network drives.)
Does mount always require root privileges? If not:
- What kind of mount does and what kind of mount doesn’t require
sudoIN GENERAL? - In my specific case I am doing
mount -t cifs, how does one go about making this mount not require requiresudo?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
Mounting a filesystem does not require superuser privileges under certain conditions, the most common being that the entry for the filesystem in /etc/fstab contains a flag that permits unprivileged users to mount it, typically user. To allow unprivileged users to mount a CIFS share (but not automount it), you would add something like the following to /etc/fstab:
//server/share /mount/point cifs noauto,user 0 0
For more information on /etc/fstab and its syntax, Wikipedia has a good article here, and man 8 mount has a good section on mounting as an unprivileged user under the heading “[t]he non-superuser mounts”.
Method 2
The mount(8) man page has a section dedicated to this; in short, it comes down to adding the user or users option for that mount in /etc/fstab:
The non-superuser mounts.
Normally, only the superuser can mount filesystems. However, when fstab contains the user option on a line, anybody can mount the corresponding system.
Thus, given a line
/dev/cdrom /cd iso9660 ro,user,noauto,unhideany user can mount the iso9660 filesystem found on his CDROM using the command
mount /dev/cdromor
mount /cdFor more details, see fstab(5). Only the user that mounted a filesystem can unmount it again. If any user should be able to unmount, then use users instead of user in the fstab line. The owner option is similar to the user option, with the restriction that the user must be the owner of the special file. This may be useful e.g. for /dev/fd if a login script makes the console user owner of this device. The group option is similar, with the restriction that the user must be member of the group of the special file.
Method 3
re: cifs mounts
Make sure you are entering the gid and uid with numeric values. I’ve had on issues with specifying these as their name values. This is despite the mount.cifs helper version being 5.1 (mount.cifs -V)
see
uid=arg
sets the uid that will own all files or directories on the
mounted filesystem when the server does not provide
ownership information. It may be specified as either
a username or a numeric uid. When not specified, the default
is uid 0. The mount.cifs helper must be at version 1.10
or higher to support specifying the uid in non-numeric form.
See the section on FILE AND DIRECTORY OWNERSHIP AND PERMISSIONS
below for more information.
//mynas/nasmedia /media/nasmedia cifs noauto,users,_netdev,credentials=/etc/.smbcredentials,iocharset=utf8,uid=1000,gid=1002,file_mode=0774,dir_mode=0775 0 0
worked well for non-root mounting, and allocating the correct uid and gid on the mountpoint.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0