我一直尝试在 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”选项非常重要。如果资源不可用(网络中断或其他情况),没有它,操作系统中的某些内容可能会在尝试连接资源时卡住。