《什么是NFS》

   就是通过网络共享目录,让网络上的其他服务器能够挂载访问共享目录内的数据。(一般共享视频,图片等静态数据)

 为什么修改NFS的2049端口

1. 其他服务再用2049端口

2. 由于某些规定(如端口号必须在10000以上)

修改方法

1. 检查LINUX是否按装NFS

[root@CT5_6-32-220-NFS01 ~]# rpm  -qa | egrep "nfs|portmap"   ####可以看到系统默认已经安装了。
portmap-4.0-65.2.2.1
nfs-utils-lib-1.0.8-7.6.el5
nfs-utils-1.0.9-50.el5

如果没有安装的话,可以使用yum Install nfs-utils portmap安装包名称来安装。

2. 关闭原来的端口号

   我在网上百度了一下,关掉端口的方式有三种,我选择了其中一种,杀掉2049端口的进程

     查询2049端口的进程号 > netstat –anp|grep 2049

                            >kill -9 进程号

 3.在ROOT用户下修改文件 >vi /etc/services

                             >i

                             >ESC键     :wq!   (保存)

   


nfs rpcbind端口 nfs的端口号是多少_nfs rpcbind端口

标题

4启动NFS

#/etc/init.d/nfs   start
#/etc/init.d/nfs   status
[root@CT56-32-220-NFS01 ~]# /etc/init.d/nfs status  ####我们这里查看nfs的状态,这里却显示了3个程序的状态,那是因为NFS包含了mountd挂载,quotad配额的管理机制的程序。
rpc.mountd is stopped-->管理client端是否能够登入的问题
nfsd is stopped###这个是主程序->管理client端能够取得的权限
rpc.rquotad is stopped

说明:从NFS服务启动的信息中我们可以看到NFS默认需要启动的进程有rpc,mountd,nfsd,rpc,rquotad,rpc,idmapd。NFS服务器启动时最少需要两个daemons,一个管理client端是否能够登入的问题,另一个管理client端能够取得的权限。如果还需要管理quota的话,NFS还要加载rpc.rquotad程序。

[root@CT5_6-32-220-NFS01 ~]# /etc/init.d/nfs status
rpc.mountd (pid 12920) is running...
nfsd (pid 12917 12916 12915 12914 12913 12912 12911 12910) isrunning...
rpc.rquotad (pid 12892) is running...

1)、nfsd(rpc.conf)

这个daemon的主要功能就是管理client端是否能够登入主机,其中还包含登入者的ID判别。

2)、rpc.mount

这个daemon主要功能则是管理NFS的文件系统。当client端顺利通过rpc.nfsd登入主机后,在它可以使用NFS服务器提供规定文件之前,还会经过文件使用权限的认证程序。它会去读取NFS的配置文件/etc/exports来对比客户端的权限,当通过这一关之后,client端也就取得使用NFS文件的权限。这就是为什么单单在/etc/exports中设置NFS的权限是不够的。

 

NFS启动&信息查看

/etc/init.d/portmap start

rpcinfo –p  

/etc/init.d/nfs status

/etc/init.d/nfs start

RPC主程序的是三个进程

rpc.mountd  #nfs挂载程序

nfsd  nfs   #主程序

rpc.rqutod  #配额

 

5.查看是否修改成功

rpcinfo –p (手动输入,粘贴的不行,不知道为啥) 

 


nfs rpcbind端口 nfs的端口号是多少_nfs rpcbind端口_02


修改成功。将2049修改为12049了

 

配置共享文件

配置/etc/exports(NFS配置文件)

修改完配置之后要重新reload一下。/etc/init.d/nfs reload

[root@CT5_6-32-220-NFS01 /]# cat  /etc/exports

[root@CT5_6-32-220-NFS01 /]# cat /etc/exports

/atong 192.168.40.0/22(rw.sync)

[root@CT5_6-32-220-NFS01 /]# /etc/init.d/nfs reload

exportfs: /etc/exports:1: unknown keyword "rw.sync"###roload的时候提示错误,重新编写了一下配置文件,就又正确了。以后要养成好的编写配置要备份的习惯。

[root@CT5_6-32-220-NFS01 /]# vi /etc/exports

/atong   192.168.41.0/22(rw,sync)

[root@CT5_6-32-220-NFS01 /]# /etc/init.d/nfs reload   重新reload就成功了。

到此NFS已经算是共享了目录,及设置了相应的权限。

 

客户端操作:

----------------------------------------------------------------------------------------

现在我们的服务器端在配置文件上已经设置了共享,并在配置文件中设置了权限rw。但其实服务器端的目录文件的rwxr-xr-x权限是还没有开放的。这个跟我们的windows共享也是很像的,不仅要共享权限有,目录本地安全权限也要有。现在就是让客户端来进行挂载就可以了。

----------------------------------------------------------------------------------------

1)查看portmap是否正常启动

[root@CT56-32-220-NFS01 ~]# /etc/init.d/portmap status
portmap (pid 2725) is running...

2)查看服务器端的共享信息。

Showmount –e192.168.1.1 来查看服务端给我们提供的有哪些共享。
[root@CT56-32-220-NFS01 ~]# showmount  -e 192.168.41.220
Export list for 192.168.41.220:
/atong  192.168.41.0/22  ----》看到已经有这个共享了。

3)在客户端挂载服务器共享出来的目录。

#mount -t nfs 192.168.1.1:/atong  /mnt(本地目录)我们可以自己新建一个要挂载的目录。
[root@CT56-32-220-NFS01 ~]# mount -t nfs  192.168.41.220:/atong  /atong  
#mount 命令格式如下:
####mount -t  类型   device   localedir(本地目录)
#以上这个命令device=192.168.41.220:/atong
[root@CT56-32-220-NFS01 ~]# df
Filesystem          1K-blocks      Used Available Use%Mounted on
/dev/sda3              7765136   1655612  5708704  23% /    
/dev/sda1               101086     11601    84266  13% /boot
tmpfs                    62532         0    62532   0% /dev/shm
192.168.41.220:/atong   7765152   1655296  5709024  23% /atong
[root@CT56-32-220-NFS01 ~]# touch  /atong/test.txt
touch: cannot touch `/atong/test.txt': Permissiondenied---》发现没有现在是没有权限的,因为我们服务器的本地的rwx权限没有开启来。
[root@CT56-32-220-NFS01 ~]# ll /atong/
total 4
-rw-r--r-- 1 root root    0 May 28 08:14 test1
drwxr-xr-x 2 root root 4096 May 28 08:15 test-dir1
##### 在服务器端创建了目录,要过段时间才能同步到客户端。额,这样的情况有办法解决没有?

4)查看挂载和共享的文件是否一致。

#df  来查看一下我们系统中的文件系统情况。
[root@CT56-32-220-NFS01~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda3              7765136   1655612  5708704  23% /
/dev/sda1               101086     11601    84266  13% /boot
tmpfs                    62532         0    62532   0% /dev/shm
192.168.41.220:/atong   7765152   1655296  5709024  23% /atong

检查客户端中挂载的内容是否和服务端的目录一样。

5)在客户端执行写操作。

权限说明:当我们在/etc/exports中给了NFS  rw权限。但为什么客户端还是写不了。因为如果我们仅在NFS配置文件中配置了rw权限。只表明了网络端的主机能够有权限去服务器端去写文件,但还需要通过服务器端的本地目录的权限。那么也就是说客户端需要通过两层的权限来控制的。NFS配置文件—>共享目录文件的权限。并且客户端往服务端去写文件,的用户身份是nfsnobody、nfsnobody UID=65534。

 

 

(完)