A maneira padrão de configurar um diretório central "/ home" em uma estação de trabalho Linux está usando o NFS. O problema é que não gosto da falta de segurança real no NFS. Então, em vez disso, quero tentar usar o SSHFS. O SSHFS em si funciona bem, o problema é montá-lo na inicialização. Se eu adicionar uma linha ao "/ etc / fstab" para o compartilhamento SSHFS, a estação de trabalho reclama que não pode contatar o servidor SSH. Isto é verdade porque as linhas "/ etc / fstab" são executadas antes que a rede esteja ativa!
Agora mesmo estou usando o seguinte script de inicialização para montar "/ home":
#!/bin/sh
# Mounts "/home" over SSHFS at boot
start () {
while true; do
ping -c 1 "10.0.0.200" 1> /dev/null
if [ "$?" = 0 ]; then
break
fi
sleep 1
done
sshfs [email protected]:/home/ /home/ -o transform_symlinks,allow_other,nonempty,hard_remove
}
case "$1" in
start)
start
;;
*)
echo "Usage: $0 {start}"
exit 1
esac
Basicamente, ele insere o servidor SSH uma vez por segundo até que ele possa se conectar, depois monta o compartilhamento SSHFS.
Minha pergunta é: Existe uma maneira mais direta e menos "hack-ish" de fazer com que "/ etc / fstab" espere até que haja uma conexão de rede ativa antes de tentar montar "/ home"?
Uma ideia alternativa que eu tive foi adicionar a linha "sshfs [email protected]: / home / / home / -o transformar_symlinks, permitir_outra, não vazia, hard_remover" como um script "post-up" em "/ etc / rede / interfaces ", mas isso ainda parece errado.
Ambiente:
SO do servidor: Ubuntu Server Edition 10.04
SO do cliente: Ubuntu Desktop 10.04