这么多年积累下来的照片(RAW文件都保留着)太多,西数的 NAS 有点不够用了,想着就入了一块 8T 的硬盘,扩展一下家里面的这台老台式机(安装的是 Elementary OS),搭建了一个 NFS 服务。

安装软件

sudo apt-get install nfs-kernel-server nfs-common

修改配置文件

sudo vi /etc/exports

在末尾添加下面这行:

/data/nfs *(rw,sync,no_root_squash,no_subtree_check)

上面这段表达的意思是:

/data/nfs            : 共享的目录
*                    : 指定哪些用户 可以访问
                       *             所有可以 ping 通本主机的用户 
                       192.168.3.*   指定网段,在该网段中的用户可以挂载
                       192.168.3.14  只有该 IP 的用户才能挂载
(                    : 共享参数
  rw,                  : 权限
                         ro: 只读
                         rw: 读写
  sync,                : 同步写入硬盘
  no_root_squash,      : root 用户访问此目录,具有 root 操作权限
  no_subtree_check     : 不检查父目录权限
)

常用的共享参数还有:

  • ro:只读访问
  • rw:读写访问
  • sync:同步写入硬盘
  • async:暂存内存
  • secure:NFS 通过 1024 以下的安全 TCP/IP 端口发送
  • insecure:NFS 通过 1024 以上的端口发送
  • wdelay:多个用户对共享目录进行写操作时,则按组写入数据(默认)
  • no_wdelay:多个用户对共享目录进行写操作时,则立即写入数据
  • hide:不共享其子目录
  • no_hide:共享其子目录
  • subtree_check:强制 NFS 检查父目录的权限
  • no_subtree_check:不检查父目录权限
  • all_squash:任何访问者,都转为匿名
  • root_squash :root 用户访问此目录, 映射成如 anonymous 用户一样的权限(默认)
  • no_root_squash:root 用户访问此目录,具有 root 操作权限

重启 nfs 服务

sudo /etc/init.d/nfs-kernel-server restart

到此,nfs 的服务就搭建好了

客户端访问服务器

  1. 检查客户端与服务端的网络是否连通

    ping 192.168.3.3
  2. 查看服务端的共享目录设置

    showmount -e 192.168.3.3
    
    Export list for 192.168.3.3:
    /data/nfs *
  3. 将该目录挂载到本地

    mount 192.168.3.3:/data/nfs /path/to/local/folder
  4. 访问

    cd /path/to/local/folder

标签: ubuntu, linux, NFS, Elementary, 文件共享, Samba

评论已关闭