我有一个安装了 samba 的树莓派。我研究了autofs并看到了在我的 Windows 机器通过网络访问外部硬盘驱动器时自动安装外部硬盘驱动器的潜力。
显然,提供的auto.smb
配置是为 samba 客户端应用程序设计的,但我的意图是相反的。我希望服务器在我通过网络访问它时自动挂载我的硬盘,并在 5 分钟左右后自动卸载它。另外 fstype 应该设置为 NTFS。
根据我目前对autofs
我需要做的是创建一个配置文件的理解,我们将其命名为auto.ntfs
:
内容auto.ntfs
:
driveA -uuid="UUID of my drive",fstype=ntfs,verbose=1 :/dev/sda1
然后我需要将该配置添加到auto.master
类似中PATH MAP -options
要指定,我的 PATH 是/share
这样我每次通过网络访问它时都会成功地将我的外部硬盘驱动器自动挂载到该目录中/share /etc/auto.ntfs -t=60
。/etc/auto.master
我是否了解它的正常工作方式以及我应该如何处理配置文件?有什么我需要考虑这样做的吗?可能吗?
我想有这个答案的可能性。(不,我不想要除 samba 以外的其他解决方案,是的,它必须是 NTFS)
更新
我已经添加了配置文件。我现在的问题是驱动器的内容没有显示,因为我试图在本地访问驱动器以便自动安装它只是为了测试功能本身。
自动大师:
/share /etc/auto.ntfs -t=60
自动.ntfs:
/share -uuid=E820DC6120DC3870,fstype=ntfs :/dev/sda1
这行不通。当我进入 /share 目录时,我看不到驱动器的内容。这是一个输出$ service autofs status
:
Jan 15 13:57:04 raspberrypi automount[529]: key ":" not found in map source(s).
Jan 15 13:57:04 raspberrypi automount[529]: failed to mount /share/:
Jan 15 13:57:04 raspberrypi automount[529]: re-reading map for /share
修复上述
对于将来对这个问题感兴趣的人,通过检查dmesg
相关消息来解决上述问题,这些消息指出了问题的实际原因,而不是仅仅说它不起作用。此命令有助于找出它:
$ dmesg -w | grep ntfs
(如果对您不同,您可以使用 grep 查找其他消息类型)
问题是该选项-uuid
不受支持。我的最终配置现在看起来像这样:
自动大师:
/- /etc/auto.ntfs -t=60
自动.ntfs:
/sharing -fstype=ntfs :/dev/sda1
在所有这些错误修复之后,手头的最后一个主题:Samba
目前我的问题是,每当安装驱动器时,它都会不恰当地更改权限。我已经使用 创建了共享目录nautilus-share
,因为我可以在那里简单地检查适当的选项。
$ stat sharing/
这是禁用 autofs 时的片段:
访问:(0777/drwxrwxrwx) Uid:(0/root) Gid:(0/root)
这是启用 autofs 时相同命令的片段:
访问:(0500/dr-x------) Uid:( 0/ root) Gid:( 0/ root)
根据此 dmesg 消息,在安装时编辑访问权限:
ntfs: (device sda1): load_system_files(): 卷脏。安装只读。在 Windows 中运行 chkdsk 并挂载。
ntfs: (device sda1): load_system_files(): $LogFile 不干净。将无法重新挂载读写。安装在 Windows 中。
我不知道现在该怎么办。我哪里做错了? 我在想我可能需要在 autofs 的配置文件中配置权限,但由于上面的消息,我不确定。
如果不建议将 ntfs 用作共享挂载,我会建议将分区格式更改为更合适的格式!
解决方案!
我现在想通了。错误消息(再次)为我指出了正确的方向,并通过谷歌搜索挖掘我遇到了这个
没有再出现。之后,从 Windows 机器访问共享驱动器也变得轻而易举。ntfs-3g
包和ntfs-config
包。后者为 NTFS 驱动器提供写入能力,就像消息一样另一个很大的帮助是Nautilus文件管理器,它使权限处理变得非常容易,只需转到目录路径并选择“右键单击->属性”,然后从那里简单地编辑权限和共享选项。(这显然是最简单/初学者的方法)
为了将来参考,这里是我的所有配置文件以及我在 CLI 中采取的步骤: