我的印象是任何类型的调用都mount
需要root权限。
但最近我被告知“您应该创建适当的条目,/etc/fstab
以便非特权用户可以安装文件系统”...这与我使用mount
.
每当我使用它时,mount
我都需要sudo
它。 (我只用于mount
安装网络驱动器。特别是 cifs 类型的网络驱动器。)
mount 是否总是需要 root 权限?如果不:
sudo
一般而言,需要哪种安装座以及不需要哪种安装座?- 在我正在做的具体情况下
mount -t cifs
,如何使这个安装不需要 requiresudo
?
答案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。