解决方案!

解决方案!

我有一个安装了 samba 的 Raspberry Pi。我调查过自动文件系统并看到了通过我的 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


完成所有这些错误修复后,就到了最后一个主题:桑巴舞

目前我的问题是,每当安装驱动器时,它就会不恰当地更改权限。我已经使用 创建了共享目录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: (设备 sda1): load_system_files(): 卷已脏。以只读方式安装。在 Windows 中运行 chkdsk 并挂载。

ntfs: (设备 sda1): load_system_files(): $LogFile 不干净。将无法重新挂载读写。在 Windows 中安装。

我现在不知道该怎么办。我哪里做错了? 我想我可能需要在 autofs 的配置文件中配置权限,但由于上面的消息,我不确定。

如果不建议将 ntfs 用作共享挂载,我愿意接受将分区格式更改为更合适的格式的建议!

答案1

解决方案!

我现在已经想通了。错误消息(再次)为我指明了正确的方向,并通过谷歌搜索进行挖掘,我发现了这个ntfs-3g包和这个ntfs-config包。后者提供NTFS 驱动器的能力,就像这样的消息

卷脏了。以只读方式安装。在 Windows 中运行 chkdsk 并挂载。
没有再出现。从Windows机器访问共享驱动器之后也变得轻而易举。

另一个很大的帮助是鹦鹉螺文件管理器,只需转到目录路径并选择“即可使权限处理变得更加容易右键点击->特性”并简单地编辑权限分享从那里的选项。 (这显然是最简单/初学者的方法)

为了以后参考,这里是我的全部配置文件以及我在 CLI 中采取的步骤:

自动主控: /- /etc/auto.ntfs -t=60

auto.master 的 Linux 手册页

自动.ntfs: /sharing -fstype=ntfs :/dev/sda1

自动安装程序映射的 Linux 手册页

smb.conf:

编辑标准配置并注释您的所有内容需要与井号或者分号。以下是我编辑过的内容。

[global]
workgroup = WORKGROUP # This was irrelevant for me but I left it activated
wins support = yes # Tells samba to act as WINS Server
#Recycle bin for mounted drive (useful feature, but not mandatory)
recycle:keeptree = yes
recycle:touch = yes
recycle:versions = y
recycle:maxsize = 0
#======================= Share Definitions =======================
#I've commented evverything here except the one I've created myself, 
#since I didn't want any of those default share definitions.
#Shared network drive
[share]
comment = Pi shared folder
path = /sharing
available = yes
browseable = yes
writeable = Yes
only guest = no
create mask = 0777
directory mask = 0777
force group = sambashare

有关服务器类型的有用链接

samba配置文件的文档

命令行界面:

$ cd /
$ mkdir sharing

要显示有关创建的目录及其权限的信息,您可以使用以下$ stat directory/file命令

下面是控制命令自动文件系统桑巴舞服务。每当您进行配置更改并希望应用它们时,您都需要重新启动它们

$ service autofs {start|forcestart|stop|restart|forcerestart|reload|force-reload|status}
$ /etc/init.d/samba {start|stop|reload|restart|force-reload|status}

创建目录后,通过键入启动 n​​autilus$ nautilus并导航到该目录,然后编辑如上所述的“权限”和“共享”选项(复选框非常不言自明)。我已经为本地和 Windows 用户启用了读写。

相关内容