驱动器使用 mount 挂载,但不使用 autofs automount

驱动器使用 mount 挂载,但不使用 autofs automount

这是第二天,所以我肯定做错了什么。

可以将备用驱动器安装到用户的主子目录安装点,并具有正确的权限供用户使用它。只需简单的 mount [device] [mountpoint] 即可完成此操作。设备是 ext4 逻辑卷,fscks 干净。

如果我告诉 automount/autofs 这样做,它根本无法使用。子目录已创建,但由 root 拥有并只能访问。自动挂载本身失败并显示:

...错误的文件系统类型、错误的选项、/dev/xvdi 上的错误超级块、缺少代码页或帮助程序或其他错误。挂载(ext2):无法挂载 /dev/xvdi(类型 ext4)......

我当前使用的自动映射选项是:

-fstype=auto,defaults,noatime,nodev,nosuid,uid=1000,gid=1000,file_mode=0660,dir_mode=0770 :/dev/xvdi

我已经尝试了很多 - fstype=ext4、ext2,带有或不带有 id 和模式,并且没有任何选项。

我还使用 udev 规则,因为该驱动器并不总是连接的:

KERNEL="xvdi", OWNER="user", GROUP="user", MODE="0770"

有人有类似的工作吗?有没有比 autofs 更简单的东西,它不是基于 systemd 的?

答案1

您可以使用--fstype=autofs文件系统格式来代替。请检查以下示例以获取信息:

-fstype=auto,defaults,noatime,gid=100,uid=1000,nls=utf8 :/dev/sdax

答案2

看来您这里可能有几处错误。我们来一一查看错误信息的各个部分:

...错误的文件系统类型...

挂载(ext2):无法挂载 /dev/xvdi(类型 ext4)......

首先,错误消息表明自动挂载程序正在尝试将ext4文件系统作为ext2一个挂载,这可能不是一件好事。

当手动安装或使用 时/etc/fstab,您可以将文件系统类型指定为auto,这将导致内核尝试列出的所有/proc/filesystems未标记的文件系统类型nodev,直到找到成功的文件系统类型或用完可尝试的文件系统类型。自动挂载程序可能不喜欢进行这样的多次尝试,并将第一次挂载尝试的失败(如此处ext2的类型)解释为挂载完全失败。

因此,请在自动挂载时准确指定文件系统fstype=ext4

... 糟糕的选择,...

uid=gid=file_mode=和等选项dir_mode=仅存在于一些文件系统类型,不是全部。具有此类选项的文件系统类型要么本身不支持 unix 样式的文件权限,要么具有某些特殊用途。更具体地说,file_modedir_mode似乎只存在于挂载 SMB/CIFS 网络文件系统;其他文件系统类型使用略有不同的选项名称 - 假设它们甚至首先具有相应的选项。

您应该删除这些选项。相反,作为系统管理员,您最初应该只是将chown挂载的文件系统的根目录设置为允许用户根据需要使用它的目录,并让用户创建自己的子目录。chmodchgrp

如有必要,您可以在目录上使用 setgid 位来指示特定组用于在该目录中创建的所有文件和子目录,或者在目录上使用默认 ACL 以施加更复杂的权限。这两个目录都可以被普通用户创建的任何子目录自动继承,因此您只需使用 root 权限设置适当的顶级目录,然后普通用户就可以完成其余的工作。

... /dev/xvdi 上的超级块损坏、缺少代码页或帮助程序或其他错误。

既然你说手动挂载成功,那肯定不是这些问题。

相关内容