autofs kann kein Remote-Laufwerk mit sshfs-fuse mounten

1966
Marvin

Ich entwickle gerade eine Anwendung, zu der ich einige Dateien von einem entfernten Ort abrufen muss, auf die ich nur über ssh zugreifen kann. Da ich dieses Repo automatisch mounten muss, habe ich versucht, ein AutoFo einzurichten (kann nicht in fstab eingefügt werden, da fstab es nach Netzwerkfehlern nicht wieder mounten kann).

Leider ist mir bei der Konfiguration ein Problem aufgetreten. Trotz meiner Suche konnte ich keinen Hinweis auf mein Problem finden ... also hier bin ich.

Grundsätzlich versuche ich automatisch das zu machen, was ich früher so gemacht habe:

sshfs myuser@xxx.yy.zz.oo: /mnt/mylocalrepo -o allow_other 

Ich brauche das für einen Kater-Benutzer, dessen PID 502 ist. Um das zu tun, ist hier mein auto.master:

# $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $  /misc /etc/auto.misc /net -hosts /mnt /etc/auto.sshfs --timeout=30, --ghost, --debug 

und meine auto.sshfs:

mylocalrepo -fstype=fuse,uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,ro,allow_other :sshfs\#monuser@xxx.yy.zz.oo\: 

Ich habe auch den Ausgabepegel in / etc / sysconfg / autofs auf 'debug' gesetzt.

Dann, /etc/init.d/autofs restart.

Leider passiert nichts ... Die Protokolle sagen:

Dec 19 11:52:03 something automount[17018]: handle_packet: type = 3 Dec 19 11:52:03 something automount[17018]: handle_packet_missing_indirect: token 279, name mylocalrepo, request pid 18480 Dec 19 11:52:03 something automount[17018]: attempting to mount entry /mnt/mylocalrepo Dec 19 11:52:03 something automount[17018]: lookup_mount: lookup(file): looking up mylocalrepo Dec 19 11:52:03 something automount[17018]: lookup_mount: lookup(file): mylocalrepo -> -fstype=fuse,uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other :sshfs\#myuser@xxx.yy.zz.oo\: Dec 19 11:52:03 something automount[17018]: parse_mount: parse(sun): expanded entry: -fstype=fuse,uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other :sshfs\#myuser@xxx.yy.zz.oo\: Dec 19 11:52:03 something automount[17018]: parse_mount: parse(sun): gathered options: fstype=fuse,uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other Dec 19 11:52:03 something automount[17018]: parse_mount: parse(sun): dequote(":sshfs\#myuser@xxx.yy.zz.oo\:") -> :sshfs#myuser@xxx.yy.zz.oo: Dec 19 11:52:03 something automount[17018]: parse_mount: parse(sun): core of entry: options=fstype=fuse,uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other, loc=:sshfs#myuser@xxx.yy.zz.oo: Dec 19 11:52:03 something automount[17018]: sun_mount: parse(sun): mounting root /mnt, mountpoint mylocalrepo, what sshfs#myuser@xxx.yy.zz.oo:, fstype fuse, options uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other Dec 19 11:52:03 something automount[17018]: do_mount: sshfs#myuser@xxx.yy.zz.oo: /mnt/mylocalrepo type fuse options uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other using module generic Dec 19 11:52:03 something automount[17018]: mount_mount: mount(generic): calling mkdir_path /mnt/mylocalrepo Dec 19 11:52:03 something automount[17018]: mount_mount: mount(generic): calling mount -t fuse -s -o uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other sshfs#myuser@xxx.yy.zz.oo: /mnt/mylocalrepo 

Das Repo ist in / mnt /:

dr-xr-xr-x 2 root root 0 déc 19 11:51 mylocalrepo 

Wenn ich jedoch nach ein paar Minuten des Einfrierens versuche, über den Root-Benutzer oder über den Tomcat-Benutzer darauf zuzugreifen, erhalte ich dies in Protokollen:

Dec 19 12:16:34 something automount[17018]: mount(generic): failed to mount sshfs#myuser@xxx.yy.zz.oo: (type fuse) on /mnt/mylocalrepo Dec 19 12:16:34 something automount[17018]: dev_ioctl_send_fail: token = 280 Dec 19 12:16:34 something automount[17018]: failed to mount /mnt/mylocalrepo Dec 19 12:16:34 something automount[17018]: handle_packet: type = 3 Dec 19 12:16:34 something automount[17018]: handle_packet_missing_indirect: token 281, name mylocalrepo, request pid 18480 Dec 19 12:16:34 something automount[17018]: attempting to mount entry /mnt/mylocalrepo Dec 19 12:16:34 something automount[17018]: lookup_mount: lookup(file): looking up mylocalrepo Dec 19 12:16:34 something automount[17018]: dev_ioctl_send_fail: token = 281 Dec 19 12:16:34 something automount[17018]: failed to mount /mnt/mylocalrepo 

Wenn also jemand von Ihnen eine Idee oder einen Tipp zu meinem Problem hat oder wie Sie weitere Hinweise dazu finden, sind sie in der Tat willkommen!

Danke im Voraus.

Meine Einstellungen :

autofs-5.0.1-0.rc2.143.el5_5.6 Kernel 2.6.18-194.32.1.el5 CentOS Release 5.5 (Final)

PS: Dieser Beitrag ist eine fast exakte Kopie eines Beitrags, den ich im Stapelüberlauf gepostet habe ... aber es sah so aus, als wäre er nicht der richtige Ort dafür. Also hoffe, dass dieser Ort sein wird. Wenn dies immer noch nicht der Fall ist, nehmen Sie sich bitte Zeit, um zu erklären, warum.

2
Zu Ihrer Information, ich habe das auch in der Vergangenheit getan. Die bevorzugte Methode ist, die Frage zu markieren und einen Moderator zu fragen, um die Frage zu migrieren. Dadurch bleiben die Fragen zwischen den Websites verknüpft und die vorhandenen Antworten und Kommentare werden auch auf diese Website verschoben. slm vor 11 Jahren 0
Vielen Dank für Ihren Rat und Ihre Unterstützung. Ich hoffe es gibt kein "nächstes Mal" mehr, aber wenn es trotzdem passiert, werde ich mich das nächste Mal daran erinnern. Marvin vor 11 Jahren 0

1 Antwort auf die Frage

0
nerimarkinde

autofsversucht, den Mount als Root-Benutzer auszuführen. Um zu testen, ob Ihr Setup funktionieren kann, melden Sie sich als root (su -) an und versuchen Sie es mit der Mount-Zeile Ihres Autofs-Startprotokolls:

`mount -t fuse -s -o uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other sshfs#myuser@xxx.yy.zz.oo: /mnt/mylocalrepo` 

Da autofs genau das tut (es ruft mount mit den aufgeführten Argumenten als Rootbenutzer auf), sollte es fehlschlagen und Ihnen eine anständigere Debug-Ausgabe geben. Normalerweise finde ich, dass Berechtigungsprobleme für die Identitätsdatei verantwortlich sind.