mount 是否总是需要 root 权限?

mount 是否总是需要 root 权限?

我的印象是任何类型的调用都mount需要root权限。

但最近我被告知“您应该创建适当的条目,/etc/fstab以便非特权用户可以安装文件系统”...这与我使用mount.

每当我使用它时,mount我都需要sudo它。 (我只用于mount安装网络驱动器。特别是 cifs 类型的网络驱动器。)

mount 是否总是需要 root 权限?如果不:

  • sudo一般而言,需要哪种安装座以及不需要哪种安装座?
  • 在我正在做的具体情况下mount -t cifs,如何使这个安装不需要 require sudo

答案1

在某些情况下,挂载文件系统不需要超级用户权限,最常见的是文件系统的条目包含/etc/fstab允许非特权用户挂载它的标志,通常是user。要允许非特权用户挂载 CIFS 共享(但不能自动挂载),您可以将如下内容添加到/etc/fstab

//server/share /mount/point cifs noauto,user 0 0

有关/etc/fstab其语法的更多信息,维基百科有一篇很好的文章这里,并且man 8 mount在“非超级用户安装”标题下有一个关于以非特权用户安装的很好的部分。

答案2

手册mount(8)页有一个专门介绍此内容的部分;简而言之,归结为在以下位置添加该安装的user或选项:users/etc/fstab

非超级用户挂载。

通常,只有超级用户才能挂载文件系统。然而,当fstab在一行中包含用户选项时,任何人都可以挂载相应的系统。

因此,给定一行

 /dev/cdrom  /cd  iso9660  ro,user,noauto,unhide

任何用户都可以使用以下命令挂载 CDROM 上的 iso9660 文件系统

 mount /dev/cdrom

或者

 mount /cd

有关更多详细信息,请参见 fstab(5)。只有安装了文件系统的用户才能再次卸载它。如果任何用户都应该能够卸载,则在 fstab 行中使用 users 而不是 user。所有者选项与用户选项类似,但限制是用户必须是特殊文件的所有者。例如,如果登录脚本使控制台用户成为该设备的所有者,这对于 /dev/fd 可能很有用。组选项类似,但限制用户必须是特殊文件组的成员。

答案3

回复:cifs 坐骑

确保您输入的 gid 和 uid 为数值。我在将这些指定为名称值时遇到了问题。尽管 mount.cifs 帮助程序版本是 5.1 (mount.cifs -V)

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

非常适合非 root 挂载,并在挂载点上分配正确的 uid 和 gid。

相关内容