Mein Mitarbeiter hat einen Desktop-Computer, /homeder auf unserem Dateiserver freigegeben ist. Ich habe ein Perl-Skript zum sshfsMounten eines bestimmten Verzeichnisses auf einem anderen SSH-Host entwickelt, das auf meinem Laptop einwandfrei funktioniert.
Auf seinem Computer kann das Skript sshfsdie Bereitstellung am Ende nicht aufheben und den Mountpoint unrein lassen. Ich habe keine andere Möglichkeit gefunden, den Mountpoint wiederherzustellen, als neu zu starten. Nach einigen Tests stellte ich fest, dass der Unterschied zwischen unseren Setups darin besteht, dass er /homeauf NFS läuft. In seinem /tmpfunktioniert es einwandfrei.
Nach dem Mounten ist während des Skriptvorgangs alles in Ordnung. Aber wenn das Töten sshfsProzess wird aufgelistet , wie <defunc>durch , psbis der übergeordneten Prozess (die Perl - Skript) beendet. Wenn Sie einen Raw- sshfsBefehl auf der Shell ausführen, tritt das Problem weiterhin auf.
Eine ls -dlAusgabe für den Mountpoint sieht folgendermaßen aus (wie erinnert - ich habe keine echte Kopie der Shell-Ausgabe zur Hand):
? 1 ? ? 4096 Feb 9 15:37 file_archive/
(nur Fragezeichen für die meisten Informationen, zumindest alle Berechtigungsdetails)
Der sshfs-Mount wird weiterhin von aufgelistet, mountaber ein Vorgang zum Aufheben der Bereitstellung schlägt fehl, und die Fehlerberechtigung wird verweigert, selbst wenn dies als ausgeführt wird root.
Ich habe Google durchsucht, aber nur viele Vergleiche zwischen sshfs und NFS gefunden, um Netzwerkdateisysteme auszuführen. Wie kann ich ein sshfs-Mount / Unmount im NFS-Verzeichnis sicher durchführen?
umountmuss ein gewöhnlicher Benutzer fehlschlagen, wenn er als Nicht-Root-Benutzer ausgeführt wird.