Does mount always require root privileges?

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 sudo IN GENERAL?
  • In my specific case I am doing mount -t cifs, how does one go about making this mount not require require sudo?

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,unhide

any user can mount the iso9660 filesystem found on his CDROM using the command

 mount /dev/cdrom

or

 mount /cd

For 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

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x