2

В настоящее время я разрабатываю приложение, для которого мне нужно получить некоторые файлы из удаленного местоположения, к которым я могу получить доступ только через ssh. Поскольку мне нужно автоматически смонтировать это репо, я попытался настроить автозаполнение (не могу поместить его в fstab, так как fstab не монтирует его обратно после сбоев сети).

К сожалению, я столкнулся с некоторой проблемой при настройке. Несмотря на мои поиски, я не смог найти никакой подсказки о своей проблеме ... так что я здесь.

В основном я пытаюсь сделать автоматически то, что раньше делал так:

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

Мне это нужно для пользователя tomcat, чей pid 502. Для этого вот мой 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

и мой auto.sshfs:

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

Я также установил уровень вывода 'debug' в /etc /sysconfg /autofs.

Затем /etc/init.d/autofs restart.

К сожалению, ничего не происходит .... Журналы говорят:

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

Репо находится в /mnt /:

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

Но когда я пытаюсь получить к нему доступ через пользователя root или через tomcat-user после нескольких минут зависания, я получаю это в журналах:

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

Так что если у кого-то из вас есть идея или совет о моей проблеме или о том, как найти больше подсказок об этом, они действительно приветствуются!

Заранее спасибо.

Мои настройки :

autofs-5.0.1-0.rc2.143.el5_5.6 ядро 2.6.18-194.32.1.el5 CentOS выпуск 5.5 (финальный)

PS: этот пост - почти точная копия того, что я выложил в переполнении стека ... но похоже, что это не то место, где его можно было бы спросить. Поэтому надеюсь, что это место будет. Если это не так, пожалуйста, найдите время, чтобы объяснить, почему.

1 ответ1

0

autofs пытается выполнить монтирование от имени пользователя root. Чтобы проверить работоспособность вашей установки, войдите в систему как root (su -) и попробуйте строку монтирования из журнала запуска autofs:

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

Так как autofs делает именно это (он вызывает mount с перечисленными аргументами как пользователь root), он должен завершиться сбоем и дать вам более приличный результат отладки. Как правило, я считаю, что проблемы с разрешениями для файла идентификации виноваты.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .