Mac OSX Lion:根据networking连接打开SMB共享

我们有一个扫描仪,可以将扫描的文件保存到SMB共享。 所以我需要打开Mac上的SMB共享 – 应该没有问题。

问题:Mac是MacBook,它也将用于国外networking – 显然,我们不希望SMB在我自己的networking之外共享。

所以,我正在寻找一种方法来自动启动MacBook上的SMB服务,只有当它连接到某个netowrk(理想情况下基于我们的路由器的硬件地址,或者可能基于IP地址是从DHCP服务器获取为一个后备)。 随着networking连接的改变,SMB服务器应该停止运行。

我不确定是不是一个好主意,摆弄系统脚本,这可能会改变任何下一个系统更新 – 仍然可能是唯一的select? 还是有一个应用程序可以做到这一点? 有没有人有更好的主意?

自由从https://superuser.com/questions/187650/enable-file-sharing-only-when-on-home-wi-fi-network-in-mac-os-x被盗:


即使价格稍高,您也可以使用NetworkLocation自动检测您的位置,并在为家庭networkingconfiguration后,添加Application > Open an Application / Run Script并对其进行configuration,以便运行此StartInternetSharing脚本。 重复,只有这一次检查框说, Launch when leaving location并添加StopInternetSharing脚本。

脚本不是由我写的,但是我已经更新了它们并将它们托pipe在我的Dropbox上,因为我有一个Xgrid的checkbox,所以原始版本不起作用。 我testing了他们,他们都工作。 这里是最初发布这些脚本的MacRumorspost 。

PS我不知道是否因为我安装了Xgrid,或者是10.6的人。 你可以阅读/遵循脚本标题中的说明(在AppleScript编辑器中打开),并告诉我,如果你这样做? 我想更新脚本以使用最常用的选项作为默认值。 谢谢。

您无需启用SMB共享即可使用扫描仪。 应将扫描仪configuration为将扫描的文档保存到相关networking中的服务器上。 然后,您将出站 SMB连接到该服务器以检索这些文件。 如果扫描文档的隐私性受到关注,请确保每个用户都有一个只能由用户和扫描仪的服务帐户(应该命名为svc_scanner ,或者遵循贵公司的服务命名约定)访问的扫描文件夹。

如果您确实希望为一台授权设备启用SMB共享以连接到您的Mac,则可以使用ipfw来确保允许从该特定设备的IP地址进行连接。 如果您不想手动configurationipfw ,则WaterRoof是GUI前端的一个选项。

我们刚刚find了更有希望的解决scheme:
请参阅http://www.controlplaneapp.com/feature-list/
在gitHub上: 在GitHub上的ControlPlane
所以它甚至是开源的!