nfs – 使用SSHFS的中央“/ home”?

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

现在我使用以下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 root@10.0.0.200:/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”等待有活动网络连接?

我有一个想法,就是将“sshfs root@10.0.0.200:/ home / / home / -o transform_symlinks,hard_remove”行添加为“/ etc / network / interfaces中的”post-up“脚本“,但这仍然是错误的.

环境:

服务器操作系统:Ubuntu Server Edition 10.04

客户端操作系统:Ubuntu Desktop 10.04

解决方法

您可能希望添加_netdev选项以延迟安装,直到启用网络:
sshfs#root@10.0.0.200:/home/ /home/ fuse transform_symlinks,_netdev,hard_remove 0 0

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

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...