Meu colega de trabalho tem um computador desktop /home
compartilhado em nosso servidor de arquivos. Eu desenvolvi um script Perl para sshfs
montar um determinado diretório em outro host SSH que funciona bem no meu laptop.
Em seu computador, o script falha ao desmontar sshfs
o final e deixa o ponto de montagem sujo. Não encontrei nenhuma maneira de recuperar o ponto de montagem além da reinicialização. Após alguns testes, descobri que a diferença entre nossas configurações é que a dele /home
está no NFS. No dele /tmp
, funciona perfeitamente.
Após a montagem, durante a operação do script, tudo está bem. Mas quando matar o sshfs
processo é listado como <defunc>
por ps
até que o processo pai (o script Perl) saídas. Ao executar um sshfs
comando bruto no shell, o problema ainda ocorre.
Uma ls -dl
saída para o ponto de montagem é semelhante a esta (como lembrado - não tenho uma cópia real da saída do shell em mãos):
? 1 ? ? 4096 Feb 9 15:37 file_archive/
(apenas pontos de interrogação para a maioria das informações, pelo menos todos os detalhes da permissão)
A montagem sshfs ainda é listada por, mount
mas uma operação de desmontagem falha com a permissão de erro negada, mesmo ao fazer isso root
.
Pesquisei no Google, mas só encontrei muitas comparações entre sshfs e NFS para executar sistemas de arquivos de rede. Como posso montar / desmontar um sshfs no diretório NFS com segurança?
umount
deve falhar quando executado como usuário não root.root_squash
opção Assim, a raiz não tem autoridade em seu diretório de origem. Você pode desligar,root_squash
mas provavelmente é mais seguro montar em outro lugar.umount
oufusermount -u
não funciona, quando o diretório é usado em algum lugar. Então,cd
fora do diretório antes de usarfusermount -u
ou usolsof /my/local/mountpoint
Apenas mate o processo usando pkill para e, em seguida, desmonte o caminho da pasta montada.
fonte
Parece que este comando funciona no OS X.
fonte