问题描述
我在rsync.net上有一个帐户。
我现在已经使用sshfs挂载了这个文件系统。现在,rsync.net帐户将显示在查找程序中,并且我可以使用查找程序进行拖放。
莫哈韦沙漠10.14.6
现在,我想在启动/系统启动时通过sshfs挂载rsync.net文件系统。如何才能做到这一点 ?如果很难在启动时挂载,也可以在登录时自动挂载。
下面是各种命令的一些输出,以便更好地了解系统。
Tormods-MacBook-Pro:〜tormod $ sshfs --version
SSHFS版本2.5(OSXFUSE SSHFS 2.5.0)OSXFUSE 3.10.3 FUSE库 版本:2.9.7保险丝:无安装点Tormods-MacBook-Pro:〜tormod $
Tormods-MacBook-Pro:〜tormod $ kextstat | grep保险丝185 0 0xffffff7f85a93000 0x19000 0x19000
com.github.osxfuse.filesystems.osxfuse(3.10.3) AF3874A9-CF4E-39BF-A807-F61D1E6FABBF Tormods-MacBook-Pro:〜tormod $
解决方法
我将对此事进行更新。
脚本的名称为:startup.sh 脚本内容:
#!/usr/bin/env bash
#Load modules for Fuse
/Library/Filesystems/osxfuse.fs/Contents/Resources/load_osxfuse
/usr/sbin/sysctl -w vfs.generic.osxfuse.tunables.allow_other=1
#Connect to rsync_net
/usr/local/bin/sshfs XXXX@prio.ch-s011.rsync.net: /mnt/sshfs -oauto_cache,reconnect,local,volname=rsync_net,allow_other,defer_permissions
无论如何,我都可以通过终端运行脚本,但是只有在终端中输入以下命令时才可以:
Tormods-MacBook-Pro:Scripts tormod$ sudo bash startup.sh
Password:
vfs.generic.osxfuse.tunables.allow_other: 1 -> 1
Tormods-MacBook-Pro:Scripts tormod$
不可能通过键入脚本名称并输入来运行脚本。 因此,有些事情在起作用,而有些事情却不起作用....... 任何帮助表示赞赏!
更新:
我看过一个Launched教程: https://medium.com/@chetcorcos/a-simple-launchd-tutorial-9fecfcf2dbb3
这是我尝试运行时收到的错误代码:
Tormods-MacBook-Pro:LaunchDaemons tormod$ launchctl load com.startup.plist
Console.app中的错误代码:
Sep 5 21:08:08 Tormods-MacBook-Pro com.apple.xpc.launchd[1] (com.apple.xpc.launchd.user.domain.501.100009.Aqua): com.startup (lint): UserName is not supported for non-System services.
Sep 5 21:08:08 Tormods-MacBook-Pro com.apple.xpc.launchd[1] (com.apple.xpc.launchd.user.domain.501.100009.Aqua): com.startup (lint): GroupName is not supported for non-System services.
Sep 5 21:08:08 Tormods-MacBook-Pro com.apple.xpc.launchd[1] (com.startup[680]): Could not find and/or execute program specified by service: 2: No such file or directory: /usr/bin/env bash /Users/root/Scripts/startup.sh
Sep 5 21:08:08 Tormods-MacBook-Pro com.apple.xpc.launchd[1] (com.startup[680]): Service setup event to handle failure and will not launch until it fires.
Sep 5 21:08:08 Tormods-MacBook-Pro com.apple.xpc.launchd[1] (com.startup[680]): Service exited with abnormal code: 78
我认为问题可能出在目录,文件或命令的chmod属性中。
我相信该脚本将以root用户身份运行。那么,脚本所在的目录应具有什么所有权/ chmod?
脚本文件应具有什么所有权/ chmod?
我看到osxfuse有几个属性。 我在这里找到了不同的属性:
https://github.com/osxfuse/osxfuse/wiki/Mount-options
现在,我运行:allow_other
,新的“ com.startup.plist”文件。 现在该文件将加载并在启动时运行。
<?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>Label</key>
<string>com.startup</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/bash</string>
<string>/Library/Scripts/Startup/startup.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/tmp/com.startup.stderr</string>
<key>StandardOutPath</key>
<string>/tmp/com.startup.stdout</string>
</dict>
</plist>
现在运行LaunchDaemons启动文件。 在此系统上,我还配置了Apple的自动挂载。 我的坐骑列表:
bash-5.0# compgen -c | grep ^mount
mount_sshfs
mount_hfs
mount_apfs
mount_udf
mount_cd9660
mount_sshfs
mount_exfat
mount_webdav
mount_msdos
mount_9p
mount_ntfs
mount_nfs
mount_ftp
mount
mount_afp
mount_smbfs
mount_cddafs
mount_fdesc
mount_acfs
mount_devfs
bash-5.0#
现在,禁用SIP后一切正常。 到rsync.net的sshfs连接已建立,在启动/启动时已连接。 我用于挂载点的设置:
/mnt/sshfs
这是为了使自动安装和引导时的安装能够一起工作。
“ / etc / auto_master”的新内容
#
# Automounter master map
#
+auto_master # Use directory service
/net -hosts -nobrowse,hidefromfinder,nosuid
/home auto_home -nobrowse,hidefromfinder
/Network/Servers -fstab
/- -static
/mnt/sshfs auto_sshfs -nobrowse,nosuid
由于
,在finder中,磁盘或远程sshfs连接称为rsync_net。volname=rsync_net
设置sshfs连接。
所以,现在一切都好,直到我打开SIP,当打开SIP时,保险丝将不再负载。
输出
kextstat|grep fuse
没有启用SIP的输出。 换句话说,启用SIP后,用于保险丝的模块不会加载到内核中。 我希望可以解决此问题,因为我希望在启用SIP的情况下运行操作系统。