Wie verwende ich /etc/fstab und/oder Automount mit SSHFS unter OSX?

Wie verwende ich /etc/fstab und/oder Automount mit SSHFS unter OSX?

Ich versuche, ein Verzeichnis von einem Remote-Ubuntu-Rechner auf meinem Mavericks-Mac automatisch zu mounten. SSHFS funktioniert perfekt, wenn es manuell gemountet wird, und zwar auf viele verschiedene Arten. Die Standard-SSHFS-Mountung funktioniert hervorragend:

sshfs user@desk:/home/user desk 

und ich kann sogar verwenden mount:

sudo mount -t sshfs -o allow_other,IdentityFile=/Users/user/.ssh/nopass_id_dsa [email protected]:/home/user desk

(Ich folgte demAnweisungen zur automatischen Bereitstellung von OSXFuseeinrichten mount_sshfs)

mountIch möchte daraus ein Automount machen. Der einfachste, von OSXFuse empfohlene Weg ist, den obigen Befehl in einen /etc/fstabEintrag umzuwandeln :

[email protected]:/home/user    /Network/desk   sshfs   allow_other,IdentityFile=/Users/user/.ssh/nopass_id_dsa 0 0 

aber das funktioniert nicht:

Network $ sudo mount desk
mount: desk: unknown special file or file system.

Wenn ich sudo automount -vcdas tue, erhalte ich entweder eine lange Zeitüberschreitung oder einen wenig hilfreichen Fehler „Operation nicht zulässig“, wenn ich versuche, den Einhängepunkt einzugeben, je nachdem, wie ich mit der Formatierung der fstab-Optionen spiele. Ich erhalte die gleichen Fehler, wenn ich versuche, eine Automount-Map einzurichten, wie beschriebenHier.

Was ist mit meinem fstab-Eintrag nicht in Ordnung? Oder wie kann ich SSHFS sonst unter OSX automatisch mounten?

(Ich verwende 10.9.5 mit SSHFS 2.5.0 von Homebrew)

Antwort1

Aufgrund eines Fehlers in OSXFuse ist dies erforderlich, damit das Flag allow_other funktioniert:

sudo sysctl -w osxfuse.tunables.allow_other=1

Dies kann das fstab-Problem beheben oder auch nicht, aber es funktioniert mit einer direkten Zuordnung. So habe ich meine eingerichtet.

Fügen Sie diese Zeile zu /etc/auto_master hinzu:

/-                              auto_ssh          -nobrowse,nosuid

Erstellen Sie /etc/auto_ssh:

/Users/USER/MOUNT_POINT          -fstype=sshfs,allow_other,idmap=user,cache=no          USER@LINUXMACHINE:/home/USER

(vorausgesetzt, Sie haben passwortlose Schlüssel eingerichtet.)

Informieren Sie autofs über Ihre Änderungen:

sudo automount -vc

So stellen Sie sicher, dass die Änderung „osxfuse.tunables.allow_other“ einen Neustart übersteht:

Tragen Sie folgendes ein /Library/LaunchDaemons/sysctl.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>sysctl</string>
 <key>ProgramArguments</key>
 <array>
   <string>/bin/bash</string>
   <string>-c</string>
   <string>/Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs; /usr/sbin/sysctl -w osxfuse.tunables.allow_other=1</string>
 </array>
 <key>RunAtLoad</key>
 <true/>
</dict>
</plist>

Laden Sie die plist mit:

launchctl load /Library/LaunchDaemons/sysctl.plist

Antwort2

versuchen Sie, das folgende Format in fstab hinzuzufügen:

BENUTZERNAME@HOSTNAME_ODER_IP:/REMOTE/VERZEICHNIS /LOCAL/MOUNTPOINT fuse.sshfs x-systemd.automount,_netdev,Benutzer,idmap=Benutzer,transform_symlinks,identityfile=/home/BENUTZERNAME/.ssh/id_rsa,allow_other,default_permissions,uid=BENUTZER-ID_N,gid=BENUTZER-GID_N 0 0

Wenn das oben genannte nicht funktioniert, prüfen Sie, ob Sie in diesem Inhalt delay_connect hinzufügen und prüfen.

Auch

siehe Macfusion. Es ist auch hilfreich, die FAQs von OSXFUSE zu lesen, um die Begründung dafür zu erfahren, warum Macfusion für SSHFS-Benutzerbereichsdateisysteme erforderlich ist.

http://macfusionapp.org/

verwandte Informationen