Ubuntu nfs 文件共享

列如:服务端:192.168.10.17 客户端:192.168.10.16

一、 服务端操作:

1.安装NFS服务

sudo apt-get install nfs-kernel-server

2.打开/etc/exports文件,在末尾加入

/home/sdb/newspic *(rw,sync,no_root_squash,no_subtree_check)

其中/home/sdb/newspic 是你要共享的目录

  • :允许所有的网段访问
    rw :读写权限
    sync:资料同步写入内在和硬盘
    no_root_squash:nfs客户端共享目录使用者权限
    no_subtree_check 和上面相对,不检查父目录权限
    如果需要指定只对某个网段(如192.168.10.1~192.168.10.256)可以这样设置
    指定网断:/home/sdb/newspic 192.168.10.* (rw,sync,no_root_squash,no_subtree_check)
    指定IP:/home/sdb/newspic 192.168.10.16 (rw,sync,no_root_squash,no_subtree_check)
    多目录共享添加多行即可
    3.重启服务
    sudo /etc/init.d/portmap restart <—重启portmap 暂时没用到
    sudo /etc/init.d/nfs-kernel-server restart <—重启nfs服务
    showmount –e <—显示共享出的目录
    二、 客户端操作
  1. 安装nfs服务
    安装nfs-common或nfs-kernel-server都行 一般安装nfs-kernel-server
    sudo apt-get isntall nfs-common
    sudo apt-get install nfs-kernel-server
  2. 挂载
    sudo mount -t nfs 192.168.10.17: /home/sdb/newspic /home/sdb/newspic
    这一命令就已经将17上的/home/sdb/newspic 目录挂载到客户机的/home/sdb/newspic目录上了。

可以在客户机上挂载目录里创建一个文件进行测试
sudo touch 1.txt
加到服务端上查看发现文件已经存在了,共享成功。

如果挂载时一直卡在连接状态 一般情况就是端口没有开需要开通 111 和2049 端口即可

  1. 端口开通
    在 sbin目录下 输入iptables -I INPUT -p tcp –dport 80 -j ACCEPT:
    /sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT
    即 80 是指你要开通的端口号
  2. 取消挂载
    sudo umount /home/sdb/newspic
    如果取消挂载的时候提示 “/usr/local/www device is busy ” 的提示,表示目录正在使用,无法取消挂载。
    这里我们可以执行如下命令:
    fuser -km /usr/local/www
    df –lh
  3. 开机自动挂载
    如果想实现开机自动挂载,可以在/etc/rc.local文件中exit 0之前加入我们要挂载的命令
    sudo mount -t nfs 192.168.10.17: /home/sdb/newspic /home/sdb/newspic 即可
    三、 附录NFS常用参数
    ro 只读访问
    rw 读写访问sync 所有数据在请求时写入共享
    async nfs在写入数据前可以响应请求
    secure nfs通过1024以下的安全TCP/IP端口发送
    insecure nfs通过1024以上的端口发送
    wdelay 如果多个用户要写入nfs目录,则归组写入(默认)
    no_wdelay 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。
    hide 在nfs共享目录中不共享其子目录
    no_hide 共享nfs目录的子目录
    subtree_check 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)
    no_subtree_check 和上面相对,不检查父目录权限
    all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
    no_all_squash 保留共享文件的UID和GID(默认)
    root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
    no_root_squas root用户具有根目录的完全管理访问权限
    anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UID
    anongid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的GID

你可能感兴趣的:(Ubuntu nfs 文件共享)