中央“/ home”使用SSHFS?

在Linux工作站上设置中央“/ home”目录的标准方法是使用NFS。 问题是我不喜欢在NFS中缺乏真正的安全性。 所以我想尝试使用SSHFS。 SSHFS in-and-of本身工作正常,问题是在启动时挂载它。 如果我为SSHFS共享添加一行“/ etc / fstab”,工作站会抱怨它无法联系到SSH服务器。 这是真的,因为“/ etc / fstab”行是在networking实际上运行之前执行的!

现在我正在使用下面的init脚本来挂载“/ 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 

基本上每秒钟ping一次SSH服务器,直到可以连接,然后挂载SSHFS共享。

我的问题是: 在尝试挂载“/ home”之前,有没有更直接的方法让“/ etc / fstab”等待直到存在活动的networking连接?

另一个想法是,在/ etc / network / interfaces中添加“sshfs [email protected]:/ home / / home / -o transform_symlinks,allow_other,nonempty,hard_remove”行作为“post-up”脚本“,但这仍然是错误的。

环境:

服务器操作系统: Ubuntu Server版本10.04

客户端操作系统: Ubuntu Desktop 10.04

您可能想要添加_netdev选项来延迟安装,直到networking已启用:

 sshfs#[email protected]:/home/ /home/ fuse transform_symlinks,allow_other,_netdev,nonempty,hard_remove 0 0 

您也可以将脚本放在/etc/network/if-up.d/或mount命令/etc/rc.local