中央“/home”使用 SSHFS?

中央“/home”使用 SSHFS?

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

现在我正在使用以下初始化脚本来挂载“/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 共享。

我的问题是:有没有一种更直接、更少“黑客”的方式让“/etc/fstab”等到有活动的网络连接后再尝试挂载“/home”?

我的另一个想法是添加“sshfs[电子邮件保护]:/home/ /home/-o transform_symlinks,allow_other,nonempty,hard_remove” 行作为“/etc/network/interfaces”中的“post-up”脚本,但这仍然感觉不对。

环境:

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

客户端操作系统:Ubuntu 桌面 10.04

答案1

您可能想要添加_netdev延迟安装的选项,直到网络启用:

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

您也可以将脚本/etc/network/if-up.d/或挂载命令放入其中/etc/rc.local

相关内容