NFS网络文件系统配置

NFS简介

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

nfs配置文件:/etc/exports

语法:   文件系统  客户端(导出选项)  客户端(选项)

客户端处可填写:IP、FQDN或DOMAIN、NETWORK

文件系统导出选项

ro:读

rw:读写,默认是只读访问

sync:同步

async:异步写入

secure:这个选项是缺省选项,他使用了1024以下的TCP/IP端口实现NFS的连接,指定insecure可以禁用这个选项

用户映射:

root_squash:这个选项不允许 root 用户访问挂载上来的 NFS 卷。

no_root_squash:这个选项允许 root 用户访问挂载上来的 NFS 卷。

all_squash:这个选项对于公共访问的 NFS 卷来说非常有用,它会限制所有的 UID 和 GID,只使用匿名用户。缺省设置是 no_all_squash。

anonuid和 anongid: 这两个选项将匿名 UID 和 GID 修改成特定用户和组帐号。

查看NFS服务器端共享的文件系统

showmount –e SERVER_IP

客户端使用NFS文件系统

   mount –t nfs SERVER:/path/to/sharedfs /path/to

exportfs:维护exports文件导出的文件系统表的专用工具

   export –ar:重新导出所有的文件系统

export –au:关闭导出的所有文件系统

export–u FS:关闭指定的导出的文件系统

开机自动挂载nfs:

SERVER:/PATH/TO/EXPORTED_FS /mount_point    nfs     defaults,_netdev   0 0

_netdev:说明此共享是一个网络文件系统,如果联系不上,就会跳过此文件系统

示例:

172.16.4.100:/share/nfs /mnt                    nfs     defaults,_netdev 0 0

NFS使用演示

示例:将本机的/share/nfs使用nfs共享出去,让其他客户端可以访问

[[email protected] ~]# mkdir -p /share/nfs
[[email protected] ~]# vim /etc/exports
/share/nfs 172.16.4.136(rw)

验证nfs是否成功共享

[[email protected] ~]#  showmount -e 172.16.4.100
Export list for 172.16.4.100:
/share/nfs 172.16.4.136

客户端挂载使用

[[email protected] ~]# mount -t nfs172.16.4.100:/share/nfs /mnt/
[[email protected] ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-root   20G 299M   19G   2% /
tmpfs                 491M     0 491M   0% /dev/shm
/dev/sda1             190M   28M 153M  16% /boot
/dev/mapper/vg0-usr   9.8G 2.0G  7.4G  21% /usr
/dev/mapper/vg0-var    20G 267M   19G   2% /var
172.16.4.100:/share/nfs
                       20G  312M  19G   2% /mnt

这个时候nfs就可以正常使用了

由于服务器默认将root用户映射为了来宾用户,如果以root用户访问nfs服务器是没有写权限的

[[email protected] ~]# cp /etc/fstab /mnt/
cp: cannot create regular file `/mnt/fstab‘:Read-only file system

服务器端设置允许root用户以root权限访问这个共享服务器

[[email protected] ~]# vim /etc/exports
/share/nfs 172.16.4.136(rw,no_root_squash)

设置完成之后重启服务器,在使用root用户复制文件就有权限了

[[email protected] ~]# cp /etc/fstab /mnt/
[[email protected] ~]# ll /mnt/
total 4
-rw-r--r-- 1 nobody nobody 921 Apr 23 18:51 fstab

验证:nfs是通过用户id来认证用户,而不是用户名

创建用户gentoo使用户对/share/nfs有读写执行权限,然后在里面创建一个文件

[[email protected] ~]# useradd -u 600 gentoo
[[email protected] ~]# setfacl -m u:gentoo:rwx/share/nfs/
[[email protected] ~]# su - gentoo
[[email protected] ~]$ cd /share/nfs/
[[email protected] nfs]$ touch a.gentoo
[[email protected] nfs]$ ll
total 4
-rw-rw-r-- 1 gentoo gentoo   0 Apr 23 18:55 a.gentoo

客户端操作:

创建相同id,然后不同的用户名,进行写入

[[email protected] ~]# useradd -u 600 fedora
[[email protected] ~]# su - fedora
[[email protected] ~]$ cd /mnt/
[[email protected] mnt]$ ll
total 4
-rw-rw-r-- 1 nobody nobody   0 Apr23 18:55 a.gentoo
[[email protected] mnt]$ touch a.fedora
[[email protected] mnt]$ ll
total 4
-rw-rw-r-- 1 nobody nobody   0 Apr 23 18:59 a.fedora
-rw-rw-r-- 1 nobody nobody   0 Apr 23 18:55 a.gentoo

创建不同id,相同用户名,进行写入

[[email protected] ~]# useradd gentoo
[[email protected] ~]# id gentoo
uid=602(gentoo) gid=602(gentoo) groups=602(gentoo)
[[email protected] ~]# su - gentoo
[[email protected] ~]$ cd /mnt/
[[email protected] mnt]$ ll
total 4
-rw-rw-r-- 1 nobody nobody   0 Apr 24 2015 a.fedora
-rw-rw-r-- 1 nobody nobody   0 Apr 24 2015 a.gentoo
[[email protected] mnt]$ touch b.gentoo
touch: cannot touch `b.gentoo‘: Permission denied

结论:相同用户名,无法成功写入,相同id可以成功写入。

时间: 2024-12-10 11:03:40

NFS网络文件系统配置的相关文章

NFS网络文件系统服务配置、验证及错误解决

NFS网络文件系统服务配置.验证及错误解决 前期准备: 1.至少准备一台服务器(nfs-server)和一台客户机(nfs-client).老表测试用的服务器端用的系统是ubuntu,客户机用的是CentOS 6.5,所以有些地方操作不一样. 2.给两台测试机都安装NFS服务和rpc服务.(一般安装NFS服务会自动安装rpc) 安装: ubuntu:sudo apt-get install nfs-kernel-server CentOS:yum groupinstall "NFS file s

NFS 网络文件系统介绍

NFS网络文件系统介绍 什么是NFS系统? NFS是Network File System 的缩写,它的主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录.NFS服务器可以允许NFS客户端,将远端NFS服务器端的共享目录,挂载到本地NFS客户端中.(注NFS客户端一般为应用服务器如:web) NFS服务器端共享的目录就好像NFS客户端自己的磁盘分区和目录一样. 一般客户端挂载到本地目录的名字可以随便,但为方便管理,建议和服务器端一样比较好. NFS一般是用来存储共享视频.图片等静态数据

nfs网络文件系统服务介绍与实战第一部

1.NFS原理描述 什么是NFS?NFS是Network File System的缩写,它的主要功能是通过网络让不同的机器之间可以彼此共享文件或目录.NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂在到本地的NFS客户端中.在本地NFS客户端的机器看来,NFS服务器端共享的目录就好像是自己的磁盘分区或者目录一样. NFS一般用来存储共享视频.图片等静态数据,是当前互联网系统架构中最常用的服务之一. 2.NFS挂载结构图 图解:NFS对外共享了video这个目录,下面有两台NFS客

nfs网络文件系统服务介绍与实战第二部

本博文议程如下: 1.生产情况应用案例 2.NFS客户端可挂载的参数 3.人为模拟错误的学习方法 4.NFS在网站架构中的位置 5.NFS的优缺点 议程1.生产情况实际案例概述: 实现当多台客户端同时挂载一台NFS Server时,无论从哪个客户端写入数据,其他客户端同样可以读写,即让所有NFS客户端写入到NFS Server的文件或目录在NFS Server上的用户和组都是同一个名称nfsnobody .请给出操作步骤,并加以说明. 实现NFS服务端的/data目录共享,指定主机(自己设置),

NFS网络文件系统服务实战(六)

NFS网络文件系统服务实战: 一.按要求搭建配置NFS服务前准备 准备三个服务器或虚拟机A.B.C配置NFS服务器: 要求: 在NFS服务端A上共享/data/w_shared及/data/r_shared两个文件目录,允许从NFS客户端B,C上分别挂载共享目录后可实现从B,C上只读/data/r_shared,可写/data/w_shared NFS客户端B上的挂载点为/data/b_w(写),/data/b_r(读) NFS客户端C上的挂载点为/data/w_你的名字英文(写),/data/

通过nfs网络文件系统启动tiny6410开发板时uboot启动参数的设置  

通过nfs网络文件系统启动tiny6410开发时uboot启动参数应该设置为: console=ttySAC0 lcd=S70 root=/dev/nfs nfsroot=192.168.1.30:/opt/tiny6410/fs/rootfs_mini6410 ip=192.168.1.40:192.168.1.30:192.168.1.30:255.255.255.0:tiny6410:eth0:off 注意:这里一定要指明你的lcd的类型,不然通过nfs成功启动tiny6410时,你的lc

ARM开发板搭建NFS网络文件系统方法

前边 已经提到过吧vmare的IP改成了静态IP,对于上网来说,这个是个麻烦的事.现在重新配置Vmware的IP VMware-Edit-Virtual network editor 选择PC机的无线网卡(可以上网),name:VMnet0 2.VMware-VM-Setting-Network adapter 选择custom-VMnet0 3.在ubuntu系统中编辑网络: 选择编辑连接,添加网络命名无线连接: 如图配置,然后就可以重现上网了. 配置虚拟机与ARM(am335x开发板)的NF

Linux运维之NFS网络文件系统功能介绍及应用场景

NFS网络文件系统主要功能是通过网络使不同的主机系统间可以共享文件或目录.客户端可以将NFS服务器端共享的数据目录挂载到客户端本地系统中.从客户端本地看,NFS服务器端共享的目录就好像是客户端自己的磁盘分区或目录一样,而实际上却是远端的NFS服务器的目录. NFS网络文件系统很像windows系统的网络共享.安全功能.网络驱动器映射,这也和linux系统里的Samba服务器类似.只不过一般情况下,windows网络共享服务或Samba服务用于办公局域网共享,而互联网中小型网站集群架构后端常用NF

NFS网络文件服务详解

一:简介 用于unix/linux系统之间通过网络进行文件共享,用户可以把网络中NFS服务器提供的共享目录挂载到本地文件目录中,可以象对本地文件系统一样操作NFS文件系统中的内容. 二.安装  rpm -qa | grep rpcbind  yum install rpcbind  rpm -qa | grep nfs  yum list | grep nfs  yum install nfs-utils 三.启动NFS service rpcbind start service nfs sta