Я установил MacFUSE (из http://code.google.com/p/macfuse/downloads/list), перезапустился, а затем загрузил sshfs-static-leopard.gz и переместил sshfs-static-leopard в / usr / sbin / sshfs (и выполнил для него chmod 755).
Я настроил машину Ubuntu на работе (с именем хоста "daryls"), поэтому могу использовать ssh без пароля. Но когда я пытаюсь sshfs daryls:/ /Volumes/daryls -oauto_cache,reconnect,volname=daryls
, Я получил:
warning: ssh nodelay workaround disabled
mount_fusefs: failed to mount /Volumes/daryls@/dev/fuse0: Operation not permitted
Какая операция не разрешена?
Я использую Mac OS X 10.6.7? Может быть, sshfs-static-leopard.gz не работает со Snow Leopard? А может, работает только в 32-битном режиме? Как узнать, загружаю ли я Mac OS X в 64-битном режиме?
Обновить: В пятницу я попробовал это на виртуальной машине Ubuntu 11.04 (работающей в VMware Fusion 3.1.3). Я почти уверен, что просто сделал регулярный mkdir /Volumes/ubuntu
(без sudo), за которым следует sshfs ubuntu:/ /Volumes/ubuntu -oauto_cache,reconnect,volname=ubuntu
и это сработало.
Но сегодня я получаю то же самое mount_fusefs: failed to mount /Volumes/ubuntu@/dev/fuse0: Operation not permitted
ошибка.
Я попытался создать каталог / Volumes / ubuntu с помощью sudo, но это не имело значения. Затем я попытался бежать sudo sshfs ubuntu:/ /Volumes/ubuntu -oauto_cache,reconnect,volname=ubuntu
и получил:
warning: ssh nodelay workaround disabled
remote host has disconnected
Но ssh ubuntu
работает.
Понятия не имею, почему это работало, а теперь нет. На всякий случай попробую перезагрузить MacBook Air.
Обновление №2: После перезапуска я запустил:
$ cd /Volumes/
$ mkdir ubuntu
$ sshfs ubuntu:/ /Volumes/ubuntu -oauto_cache,reconnect,volname=ubuntu
warning: ssh nodelay workaround disabled
Это сработало.
Так что у меня до сих пор нет ответа на свой вопрос. Но у меня может быть обходной путь.
Кстати: он говорит «Нет» напротив «64-но ядро и расширения» в разделе «Обзор системного программного обеспечения» в System Profiler (который я открыл после Разнорабочий5направления).
Обновление № 3: Получив ошибку «Операция запрещена», я перезапустил ее и снова получил. (Другими словами, перезапуск не является надежным решением.)
Обновление №4: Это сработало, а затем я совершил ошибку, перезапустив свою виртуальную машину Ubuntu, не отключая том sshfs. Теперь я снова получаю сообщение об ошибке «Операция запрещена». (Возможно, каталог / Volumes оставлен в каком-то заблокированном состоянии.)
Я читаю Разнорабочий5комментарий ниже, а затем прочтите http://hints.macworld.com/article.php?story=20031017061722471 и справочную страницу для chflags. Затем я сделал:
$ ls -lOd /Volumes/
drwxrwxrwt@ 5 root admin hidden 170 Jul 15 13:22 /Volumes/
$ ls -lOd /Volumes/ubuntu/
drwxr-xr-x+ 2 root admin - 68 Jul 15 13:08 /Volumes/ubuntu/
(Согласно странице руководства chflags, параметр ls для просмотра флагов - -O, а не -o. Это подтверждается на странице руководства ls.)
Как видите, он не показывает никаких флагов. (Хотя мне интересно, что означают "@" и "+". Я читал http://lists.apple.com/archives/Macos-x-server/2008/Jan/msg00138.html и играл с xattr, но ничего не узнал.)
От отчаяния я попробовал sudo chflags nouchg /Volumes
и sudo chflags nouchg /Volumes/ubuntu
но по-прежнему возникает ошибка «Операция запрещена».
Обновление № 5: Прошло некоторое время с тех пор, как я изначально разместил это, но IIRC все это произошло из-за моих проблем, пытающихся обойти MacFusion не работает с MacFUSE и SSHFS (при попытке использовать SSHFS для монтирования тома, запущенного на виртуальной машине Ubuntu). Я недавно узнал бой FUSE для OS X. Я его установил, переустановил SSHFS, и теперь MacFusion работает безупречно.
Возможно, ваша учетная запись не может монтировать тома в /Volumes
каталог напрямую. Вы пробовали монтировать sshfs
в каталог в вашем собственном домашнем каталоге?
В противном случае вам может потребоваться административная (sudo
) разрешения на запуск sshfs
. Попробуйте указать перед этой командой sudo
вот так:
sudo sshfs daryls:/ /Volumes/daryls -oauto_cache,reconnect,volname=daryls
В стороне: определить работает ли ваш Mac в 64-битном режиме:
- выберите Об этом Mac из меню Apple.
- Нажмите Больше информации.
- Выбрать Программное обеспечение на панели Содержание.
- Найдите «64-битное ядро и расширения: да (или нет)» под Обзор системного программного обеспечения заголовок.
Однажды я смог смонтировать мои тома по sshfs. В следующий раз я не был. В командной строке (терминале) попробовал sudo -i
и был встречен с сообщением «Пользователь не находится в файле sudoers». Я перезагрузился и попробовал sudo -i
и был успешным, поэтому я снова попробовал смонтировать sshfs, и это сработало. По сути, перезагрузка исправила меня, но у меня нет других подробностей, кроме этого. ОС: Mac 10.11.6 (El Capitan)