使用您的linux机器浏览Windows网络,自动挂载和发现所有主机和共享。

您可以在以下网站找到最新版本:

http://linux.bononline.nl/linux/automountsmbshares/index.php

指数

  • 简介和总结

介绍

一段时间以来,我一直在寻找一种让我的电脑发现Windows网络并按要求挂载股票的好办法。 目前还没有足够的解决方案。 在我选择的桌面(KDE)和FUSE程序Fusesmb和SmbNetFs中尝试了小报,我并不满意。 必须有一种办法让我的电脑发现所有的工作组/域名,主机和共享,并在主机上挂载共享。 有人会说:用手选择你所选择的股票,然后离开你。 但不是!! 这不是我想要的。 我可以让我的电脑发现自动发现所有可用的主机和共享,只有在需要的时候挂载共享。 这应该是可能的! 尝试后,我发现它是!

以下问题需要imho:

  • 自动发现SMB网络(域,主机和共享)
  • 构建对登录其目标的用户有意义的表示
  • 根据需要自动挂牌
  • 经过一段时间没有使用,自动卸载股份
  • 使用内核fs像SMBFS或CIFS
  • 独立于桌面管理器
  • 支持其他网络服务,如SSH和FTP

FUSE程序Fusesmb非常接近我正在寻找的内容,但缺乏CIFS扩展的功能,例如正确显示权限,支持inotify,符号链接和ATTR / ACL。 我花了一些时间找出为什么FUSE程序缺乏这些功能。 FuseSMB基于smbclient.so,它是Samba软件包的一部分,与smbfs或cif无关。

结果

此结构的结果是您的目标中的网络相关目录(Global Network),其中自动安装程序提供可浏览的树,以访问所有支持的网络服务。

此时它支持SMB和SSH服务(我正在使用FTP)。 访问“网络安装点”:

/home/sbon/Global Network/
                        SSH hosts
                        Windows Network

访问Windows网络(== smb),会显示所有工作组和/或域:

/home/sbon/Global Network/
                        SSH hosts
                        Windows Network
                           BONONLINE
                           CWWERKGROEP

进入工作组CWWERKGROEP,所有服务器和其他主机都显示:

/home/sbon/Global Network/
                        SSH hosts
                        Windows Network
                           BONONLINE
                           CWWERKGROEP
                              ROUTER
                              PC1

输入服务器ROUTER,连接用户可用的共享出现:

/home/sbon/Global Network/
                        SSH hosts
                        Windows Network
                           BONONLINE
                           CWWERKGROEP
                              ROUTER
                                 cwdocumenten
                                 public
                                 sbon

访问共享,它会自动挂载(使用CIFS或SMBFS)。 支持使用凭据,客户登录是默认的。

要构建smb服务的“多挂载映射”,使用网络缓存。 它提供有关工作组和/或域的信息。 主机和服务器和共享可用。 它由一些脚本维护,这些脚本使用某些实用程序(nbtscan来确定主机和工作组/域和smbclient来确定每个主机的共享)。

访问SSH主机(= ssh),此用户可以访问的所有主机出现:

/home/sbon/Global Network/
                        SSH hosts
                           192.168.0.2
                        Windows Network

这里没有使用缓存来创建这个树,但是文件.known_hosts。 还有没有mount.sshfs可用。 我创建了一个,使用FUSE和sshfs。 (和umount.sshfs)。
现在当访问主机192.168.0.2时,将挂载192.168.0.2上的根。

它是如何工作的

这种结构利用自动装载机。 当用户登录并启动新会话时,将添加一个“networkmountpoint”到auto.master文件,并且automounter守护程序获取“重新加载”信号。 此挂载点,名称默认为“全局网络”位于用户的目标。 链接到它是一个脚本(auto.network),它基于支持的所有网络服务和发现的资源创建地图。 与浏览选项一起,它提供了可浏览的地图,其中共享/主机在访问时被挂载。

当用户注销,因此会话结束时,再次卸载安装点,并且automounter守护程序再次获取重新加载信号以使更改生效。

这里使用KDM在会话的开始和结束时使用root权限运行脚本的能力。

此时只支持SMB和SSH。

已知的问题

有一些瓶颈:
- 当添加一个共享时,一个主机脱机或其他更改在smb环境中,它需要一些时间,当它也可以在缓存中可见。 这个缓存是通过一些脚本来维护的,它使用“拉”式的机制。 第二,自动安装程序本身不会检测到缓存中的数据已更改。 在超时之后,它只更新自己的数据(多挂载映射),甚至在noet完全获得所有更改。
- 指示自动装载机呈现可浏览的挂载映射。 这意味着tople目录始终可用。 这是一件非常好的事情,即使在超时之后,可用网络总是可见和可访问的。 实际上有时候“网络服务”之一消失了
- 自动装载机在启动一个空的auto.master文件(和空包含)时有一些问题。 在启动时,当没有用户登录时,因此没有autofs管理网络安装点,自动安装程序必须以空的地图启动。

链接

使用autofs访问windows或samba共享

使用现有文件设置SMB共享的autofs的指南;

将Linux主机集成到Windows环境中

一个指导,以一种替代方式设置autofs访问共享。

HOWTO使用autofs自动安装文件系统(AUTOFS)/ udev

这里几乎使用与udev一起使用autofs来安装硬件的结构。 这里还将挂载点动态添加并删除到auto.master文件中。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏