我们有一个扫描仪,可以将扫描的文档保存到 SMB 共享。所以我需要在 Mac 上打开 SMB 共享——应该没问题。
问题:Mac 是 MacBook,也将用于国外网络 - 显然我们不希望在我自己的网络之外进行 SMB 共享。
因此,我正在寻找一种方法,仅当它连接到某个网络时才在 MacBook 上自动启动 SMB 服务(理想情况下基于我们路由器的硬件地址,或者可能基于从 DHCP 服务器获取的 IP 地址作为后备)。SMB 服务应在网络连接发生变化时立即停止。
我不确定摆弄系统脚本是否是个好主意,系统脚本可能会被任何下一次系统更新更改——这仍然可能是唯一的选择吗?或者有没有可以做到这一点的应用程序?有人有更好的主意吗?
从https://superuser.com/questions/187650/enable-file-sharing-only-when-on-home-wi-fi-network-in-mac-os-x大量盗取:
即使稍微有点贵,您也可以使用NetworkLocation来自动检测您的位置,并在为您的家庭网络配置它之后,添加
Application
>Open an Application / Run Script
并配置它,以便它运行这个StartInternetSharing脚本。重复,只是这一次选中说的框Launch when leaving location
并添加StopInternetSharing脚本。脚本不是我写的,但我更新了它们并将它们托管在我的 Dropbox 上,因为我有一个 Xgrid 的复选框,所以原始版本不起作用。我测试了它们,它们都有效。这是最初发布这些脚本的MacRumors 帖子。
PS 我不知道我是否因为安装了某些东西而拥有 Xgrid,或者每个拥有 10.6 的人都有。您能否阅读/遵循任一脚本标题中的说明(在 AppleScript 编辑器中打开),如果您这样做了请告诉我?我想将脚本更新为默认使用最常用的选项。谢谢。
您无需启用 SMB 共享即可使用扫描仪。扫描仪应配置为将扫描的文档保存到相关网络上的服务器。然后,您与该服务器建立出站SMB 连接以检索这些文件。如果扫描文档的隐私是一个问题,请确保每个用户都有一个扫描文件夹,该文件夹只能由用户和扫描仪的服务帐户访问(应命名为
svc_scanner
,或遵循贵公司服务命名约定的任何名称)。如果您真的想为一台授权设备启用 SMB 共享以连接到您的 Mac,您可以使用
ipfw
来确保仅允许来自该特定设备 IP 地址的连接。如果您不想ipfw
手动配置,WaterRoof是 GUI 前端的一个选项。我们刚刚找到了一个更有前途的解决方案:
请参阅http://www.controlplaneapp.com/feature-list/
在 gitHub上:GitHub 上的 ControlPlane
所以它甚至是开源的!