在
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命令中.