5

我正在尝试使用automountsshfs在 macOS Catalina 上设置 SSH 端点的自动挂载。但是,它不起作用,我不知道为什么。

  1. /etc/auto_master
+auto_master        # Use directory service
#/net           -hosts      -nobrowse,hidefromfinder,nosuid
/home           auto_home   -nobrowse,hidefromfinder
/Network/Servers    -fstab
/-          -static
# custom; auto-mount wolverine (parker lab setup)
/-  auto_wolverine  -nosuid
  1. /etc/auto_wolverine
/System/Volumes/Data/wolverine/home -fstype=sshfs,reconnect,nodev,follow_symlinks,allow_other,StrictHostKeyChecking=no,IdentityFile=IDFILE,port=PORT,ServerAliveInterval=360,ServerAliveCountMax=3 USER@HOST:/home
  1. /etc/sythetic.conf

wolverine /System/Volumes/Data/wolverine

根据我看到的教程之一,我还将sshfs二进制文件符号链接到。/usr/local/bin/mount_sshfs但是,当我尝试打开目标目录(刷新挂载后)时,它会显示No such file or directory. 任何帮助,将不胜感激。

4

1 回答 1

4

这里的问题是automount试图在mount_sshfs里面搜索/sbin。因此,尽管您创建了该符号链接,但它不适用于automount.

由于 macOS Catalina/sbin安装为只读卷,因此您将无法创建所需的符号链接:/sbin/mount_sshfs -> /usr/local/bin/sshfs. 您可以在Apple 的支持网页上找到更多信息。

对 macOS 10.15 Catalina 的早期版本对我有用的一件事是禁用系统完整性保护并从恢复操作系统分区创建所需的符号链接。但我不知道这张剧照是否适用于 Catalina。

您可以在本文档中找到如何禁用 SIP 。

如果您最终设法创建符号链接,您可能需要添加以下守护程序以启用内核扩展以进行自动挂载:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <false/>
    <key>Label</key>
    <string>sysctl</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/bash</string>
        <string>-c</string>
        <string>/Library/Filesystems/osxfuse.fs/Contents/Resources/load_osxfuse; /usr/sbin/sysctl -w vfs.generic.osxfuse.tunables.allow_other=1</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

调用它load.osxfusefs.tunables.plist并把它放在里面/Library/LaunchDaemon

您可以在Apple StackExchange的这个答案中找到一个很好解释的指南。

于 2020-04-03T06:02:46.907 回答