大家好,又见面了,我是你们的朋友全栈君。
欢迎大家搜素微信公众号“东面而视”,分项技术及讨论技术
《什么是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! (保存)
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 (手动输入,粘贴的不行,不知道为啥)
修改成功。将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。
(完)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/153587.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...