Por que recebo “Operação não permitida” ao tentar montar um volume usando sshfs e MacFUSE?

4

Eu instalei o MacFUSE (do link ), reiniciei e baixei o sshfs-static-leopard. gz, e moveu o sshfs-static-leopard para / usr / sbin / sshfs (e fez um chmod 755 nele).

Eu configurei uma máquina Ubuntu no trabalho (com o nome de host "daryls") para que eu possa usar ssh nela sem uma senha. Mas quando eu tento sshfs daryls:/ /Volumes/daryls -oauto_cache,reconnect,volname=daryls , recebo:

warning: ssh nodelay workaround disabled
mount_fusefs: failed to mount /Volumes/daryls@/dev/fuse0: Operation not permitted

Qual operação não é permitida?

Estou executando o Mac OS X 10.6.7? Poderia ser que sshfs-static-leopard.gz não funciona com o Snow Leopard? Ou talvez funcione apenas no modo de 32 bits? Como faço para descobrir se estou inicializando o Mac OS X no modo de 64 bits?

Atualização: Na sexta-feira, tentei isso com uma VM Ubuntu 11.04 (em execução no VMware Fusion 3.1.3). Tenho certeza que acabei de fazer um mkdir /Volumes/ubuntu (sem sudo) regular, seguido por sshfs ubuntu:/ /Volumes/ubuntu -oauto_cache,reconnect,volname=ubuntu e funcionou.

Mas hoje estou recebendo o mesmo erro mount_fusefs: failed to mount /Volumes/ubuntu@/dev/fuse0: Operation not permitted .

Eu tentei criar o diretório / Volumes / ubuntu com o sudo, o que não fez diferença. Então eu tentei correr sudo sshfs ubuntu:/ /Volumes/ubuntu -oauto_cache,reconnect,volname=ubuntu e consegui:

warning: ssh nodelay workaround disabled
remote host has disconnected

Mas ssh ubuntu funciona.

Eu não tenho ideia do porque estava funcionando e agora não está. Vou tentar reiniciar o meu MacBook Air, só por precaução.

Atualização # 2: Depois de reiniciar, eu corri:

$ cd /Volumes/
$ mkdir ubuntu
$ sshfs ubuntu:/ /Volumes/ubuntu -oauto_cache,reconnect,volname=ubuntu
warning: ssh nodelay workaround disabled

Funcionou.

Então, ainda não tenho uma resposta para minha pergunta. Mas eu posso ter uma solução alternativa.

BTW: Ele diz "Não" em "64-but kernel and Extensions" em "System Software Overview" no System Profiler (que abri depois de Instruções do Handyman5 ).

Atualização # 3: Depois de receber o erro "Operação não permitida", reiniciei e consegui novamente. (Em outras palavras, reiniciar não é uma solução confiável.)

Atualização # 4: Isso estava funcionando e cometi o erro de reiniciar minha VM Ubuntu sem desmontar o volume sshfs. Agora estou recebendo novamente o erro "Operação não permitida". (Talvez o diretório / Volumes seja deixado em algum tipo de estado bloqueado.)

Eu li o comentário do Handyman5 abaixo e, em seguida, leia link e a página de manual para chflags. Eu então fiz:

$ 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/

(De acordo com a página man do chflags, a opção ls para ver flags é -O, não -o. Isto é confirmado na página man ls).

Como você pode ver, não está mostrando sinalizadores. (Embora eu me pergunte o que significam "@" e "+". Li o link e jogou com xattr, mas não aprendeu nada.

Por desespero, tentei sudo chflags nouchg /Volumes e sudo chflags nouchg /Volumes/ubuntu , mas ainda estou com o erro "Operação não permitida".

Atualização # 5: Já faz um tempo desde que eu postei isso originalmente, mas o IIRC veio dos meus problemas tentando resolver o problema MacFusion não funciona com MacFUSE e SSHFS (ao tentar usar o SSHFS para montar um volume em execução em uma VM Ubuntu). Recentemente, aprendi sobre o FUSE para Mac OS X . Eu instalei, reinstalei o SSHFS , e agora o MacFusion está funcionando perfeitamente.

    
por Daryl Spitzer 20.06.2011 / 19:20

2 respostas

5

É possível que sua conta de usuário não consiga montar volumes no diretório /Volumes diretamente. Você já tentou montar sshfs em um diretório dentro de seu próprio diretório pessoal?

Caso contrário, talvez você precise ter permissões administrativas ( sudo ) para executar sshfs . Tente prefaciar esse comando com sudo da seguinte forma:

sudo sshfs daryls:/ /Volumes/daryls -oauto_cache,reconnect,volname=daryls

Como um aparte: para determinar se o seu Mac está sendo executado no modo de 64 bits :

  1. Choose About This Mac from the Apple menu.
  2. Click More Info.
  3. Select Software in the Contents pane.
  4. Look for "64-bit Kernel and Extensions: Yes (or No)" under the System Software Overview heading.
    
por 10.07.2011 / 11:16
0

Um dia, consegui montar meus volumes no sshfs. No próximo, eu não estava. Na linha de comando (terminal), eu tentei sudo -i e fui recebido com "O usuário não está no arquivo sudoers". Eu reiniciei e tentei sudo -i e foi bem sucedido, então eu tentei a montagem sshfs novamente e funcionou. Basicamente, uma reinicialização me consertou, mas não tenho outros detalhes além disso. SO: Mac 10.11.6 (El Capitan)

    
por 17.01.2018 / 19:21

Tags