陈奇网络工作室

网络服务——NFS

网站建设服务器

NFS概况

NFS是网络文件系统的缩写,即网络文件系统。由Sun公司开发的分布式文件系统协议于1984年发布。功能是使不同的机器和不同的操作系统通过网络相互共享个体数据,并允许应用程序通过网络访问位于服务器磁盘中的数据,是一种实现类Unix系统之间磁盘文件共享的方法。

协议:

Rpc(远程过程调用协议)——远程过程调用协议

软件:

Nfs-utils-*:包括基本的Nfs命令和监控程序。

Rpcbind-*:支持安全NFS RPC服务的连接。

注意:通常,它是作为系统的默认包安装的。

CentOS6。*在rpcbind被称为portmap之前。

NFS系统守护进程

Nfsd:它是一个基本的NFS守护进程,主要功能是管理客户端是否可以登录服务器。

Mountd:它是一个RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端通过nfsd成功登录NFS服务器后,在使用NFS服务提供的文件之前,还必须通过文件使用权的验证。它将读取NFS配置文件/etc/exports来比较客户端权限。

Rpcbind:主要功能是端口映射。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,rpcbind会向客户端提供该服务对应的托管端口,这样客户端就可以通过该端口向服务器请求服务。

NFS服务器的配置

NFS服务器的配置比较简单,只需在相应的配置文件中进行设置,然后启动NFS服务器即可。

NFS常用目录

/etc/exportsNFS服务的主配置文件

/usr/sbin/exportfsNFS服务的管理命令。

/usr/sbin/showmount客户端的查看命令

/var/lib/nfs/etab记录了nfs共享的目录的完整权限设置。

/var/lib/nfs/xtab记录已经登录的客户机信息。

NFS服务的配置文件是/etc/exports,这是NFS的主要配置文件,但是系统中没有默认值,所以这个文件不一定存在。您可能需要用vim手动创建它,然后在文件中写入配置内容。

/etc/exports文件内容格式:

输出目录[客户端1选项(访问权限、用户映射、其他)][客户端2选项(访问权限、用户映射、其他)]

A.输出目录:输出目录是指NFS系统中需要与客户端共享的目录。

B.客户端:客户端是指网络中可以访问这个NFS输出目录的计算机。

客户的常用指定方法:

具有指定ip地址的主机:192.168.0.200。

指定子网中的所有主机:192 . 168 . 0 . 0/24 192 . 168 . 0 . 0/255 . 255 . 0。

指定域名的主机:david.bsmart.cn。

指定域中的所有主机:*。bsmart.cn。

所有主机:*

C.选项:选项用于设置输出目录的访问权限和用户映射。

NFS有三个主要选择:

访问选项:

将输出目录设置为只读:ro

将输出目录设置为读写:rw

用户映射选项:

All_squash:所有远程访问的普通用户及其组都被映射为匿名用户或用户组(NFS nobody);

no _ all _ squash:all _ squash的逆(默认设置);

root _ squash:root用户及其所属的组都映射为匿名用户或用户组(默认设置);

no _ root _ squash:root squash的反义词;

Anonuid=xxx:所有远程访问的用户都被映射为匿名用户,该用户被指定为本地用户(uid=XXX);

Anongid=xxx:所有远程访问用户组都映射到匿名用户组帐户,匿名用户组帐户被指定为本地用户组帐户(GID=XXX);

其他选项

安全:限制客户端只能从小于1024(默认设置)的tcp/ip端口连接到nfs服务器;

不安全:允许客户端从大于1024的tcp/ip端口连接到服务器;

Sync:将数据同步写入内存缓冲区和磁盘效率较低,但可以保证数据的一致性;

Async:先将数据保存在内存缓冲区,必要时再写入磁盘;

Wdelay:检查是否有相关的写操作,如果有,就一起执行这些写操作,这样可以提高效率(默认设置);

No_wdelay:如果有写操作,会立即执行,要和sync配合使用;

子树:如果输出目录是子目录,nfs服务器会检查其父目录的权限(默认设置);

No_subtree:即使输出目录是子目录,nfs服务器也不检查其父目录的权限,可以提高效率;

启动和停止NFS服务器

1.启动NFS服务器。

为了让nfs服务器正常工作,需要启动rpcbind和nfs两个服务,并且rpcbind必须在NFS之前启动。

#服务rpcbind启动

#服务nfs启动

2.查询NFS服务器的状态

#服务rpcbind状态

#服务nfs状态

3.停止NFS服务器。

要停止nfs运行,您需要首先停止NFS服务,然后停止rpcbind服务。当系统中有其他服务(如NIS)需要使用时,不需要停止rpcbind服务。

#服务nfs停止

#服务rpcbind停止

4.设置NFS服务器的自动启动状态。

将rpcbind和nfs服务设置为在系统运行级别2345自动启动。

# chkconfig级别2345 rpcbind on

# chkconfig打开2345级nfs

例子

1.NFS服务器的share/home/张三到192.168.115.0/24网段,有rw权限。

# vim/etc/出口

/home/张三

不同的网段需要一个网关(ping)来安装。

2.重新启动端口映射和nfs服务。

#服务rpcbindrestart

#服务nfs重新启动

# exportfs-rv(刷新配置文件)

3.服务器端检查nfs共享状态。

# showmounte本地ip

查看您共享的服务。

4.客户端检查nfs共享状态。

Showmount -e NFS服务器IP

5.客户端装载nfs服务器共享目录。

命令格式:mount NFS服务器IP:共享目录本地装载点目录。

# mount 192 . 168 . 115 . 10:/home/张三//media/张三/

# mount |grep nfs

验证客户端和nfs服务器文件是否一致:

[root @ NFS ~]# CD/media/张三/

-bash:CD:/media/张三/:权限不足。

[root@NFS ~]#

修改服务器上相应的权限,否则客户端将无法正常访问和使用。

6 nfs共享权限和访问控制

A.客户端根用户

使用客户端的root身份在nfs服务器上创建文件,文件的所有者和组是nfsnobody。

B.客户端的一般用户

以客户端普通用户的身份在nfs服务器上创建一个文件,所有者和组都是nobody或者普通用户。

C.原因:/var/lib/nfs/etab

1.客户端连接时检查根目录。

如果设置了no_root_squash,那么root用户的身份被压缩到NFS服务器之上的root;

如果设置了all_squash、anonymous和anonuid,则root身份将被压缩到指定的用户;

如果没有明确指定,root用户压缩到nfsnobody此时;

如果同时指定了no_root_squash和all_squash用户,则压缩到nfsnobody,如果设置了anonuid和anongid,则压缩到指定的用户和组;

2.当客户端连接时,检查普通用户。

如果明确设置了普通用户的压缩身份,那么此时客户端用户的身份转换为指定用户;

如果NFS服务器上有同名用户,那么客户端登录账号的身份将更改为NFS服务器上的同名用户;

如果没有同名用户,那么用户身份被压缩为nobody;

7.卸载和自动安装

1.卸载客户端的挂载目录。

卸载装载点

2.停止在服务器端共享

exportfsau

自动挂载:/etc/fstab

格式:服务器:/远程/导出/本地/目录选项0 0

# 192 . 168 . 115 . 10:/home/张三/media/张三nfs默认值0 0

#mount -a

相关命令

a .出口

如果我们在启动nfs后修改/etc/exports,我们必须重新启动NFS吗?此时,我们可以使用exportfs命令使更改立即生效。该命令的格式如下:

格式:exportfs [-aruv]

-a挂载或卸载/etc/exports中的所有内容。

-r重新读取/etc/exports中的信息,并同步更新/etc/exports、/var/lib/nfs/xtab。

-u卸载单个目录(与-a一起使用,卸载所有/etc/exports文件中的目录)

-v导出时,将详细信息输出到屏幕。

具体例子:

# exportfs -au卸载所有共享目录。

# exportfs -rv重新共享所有目录并输出详细信息。

B.rpcinfo可以用rpcinfo -p看看RPC打开的端口提供了哪些程序。

其中nfs是2049,portmapper(rpcbind)是111,其余都是rpc。

更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3