在 OSX 上自动挂载 smb 驱动器

在 OSX 上自动挂载 smb 驱动器

我一直尝试在 OS Sierra 上实现 smb 驱动器自动安装,但无法正确完成。

我破解了 /etc/fstab,它似乎可以在这个操作系统上运行,以至于我无法强制它更改所有权或 chmod,以便 root 以外的其他用户可以访问它。

似乎自动挂载忽略了我为挂载设置 uid 或 gid 的所有尝试,并且它始终以 root:wheel 身份挂载。

我浏览了几个处理该问题的线程,但没有找到任何解决方案,因此我尝试使用带有 Applescript 的 Automator,我使用命令让 Finder 应用程序为我安装驱动器,但它总是要求输入凭据,所以对我来说也没有用。

有人可以提供可行的解决方案吗,在 OSx 上安装 smb 驱动器,该驱动器可供 root 以外的其他用户访问,并以无头模式工作(因此它不需要任何用户登录?)

谢谢

答案1

假设正在处理 OSX Sierra 或 High Sierra(10.12 或 10.13),Apple 锁定 /Volumes 会导致很多自动挂载问题。

这是一个解决方法(由 Apple 员工创建),本质上就是用“胶带”解决问题。 https://support.apple.com/en-us/HT207112

TLDR 版本:
1. 您必须是 10.12.2 或更高版本(我们建议使用 10.12.6 作为这堆马“东西”的唯一可用版本)。

2 在终端运行此命令:sudo defaults write /Library/Preferences/com.apple.NetworkAuthorization AllowUnknownServers -bool YES

现在:自动连接选项(“系统首选项”>“用户”>“登录元素”)将与钥匙串正确交互,并正确保存您的登录信息。

答案2

这在 macOS High Sierra 上对我有用:

  • 打开 Finder 并按 Command-K
  • 选择您的 SMB 共享(我输入“smb://NAS326/Storage”,其中 NAS326 是 NAS IP 地址的别名,Storage 是共享文件夹)

这将挂载 SMB 共享并将其显示在桌面上

  • 打开系统偏好设置
  • 点击用户和群组
  • 选择登录元素
  • 从桌面拖放 SMB 共享图标
  • 单击该框将其隐藏(应避免每次登录时都打开 Finder 窗口)

否则我可以使用 auto_master。我在 /etc/auto_master 中添加了此条目(您需要 root 访问权限):

# Network Shares
/-          auto_smb    -nosuid,noowners

然后我创建了 /etc/auto_smb:

/../Volumes/Storage -fstype=smbfs,soft,noowners,noatime,nosuid   smb://admin:password@NAS326/Storage

admin 是允许在我的 NAS 中读取/写入的用户,“password”是密码。

还请注意,“soft”选项非常重要。如果资源不可用(网络中断或其他情况),没有它,操作系统中的某些内容可能会在尝试连接资源时卡住。

相关内容