4、我们编译一下这个NFS的配置文件。

[root@NFS /]# vi /etc/exports

/share 192.168.60.0/24(rw,sync,all_squash,root_squash)    (我们允许这个共享对192.168.60.0/24网段可读可写,且将所有访问者包括root的身份都改为nfsnobody)

[root@NFS /]# /etc/init.d/nfs restart           (重新启动一下NFS服务)

Shutting down NFS mountd:                                  [  OK  ]

Shutting down NFS daemon:                                  [  OK  ]

Shutting down NFS quotas:                                  [  OK  ]

Shutting down NFS services:                                [  OK  ]

Starting NFS services:                                     [  OK  ]

Starting NFS quotas:                                       [  OK  ]

Starting NFS daemon:                                       [  OK  ]

Starting NFS mountd:                                       [  OK  ]

[root@NFS /]# showmount -e 192.168.60.3         (查看一下挂载生效了)

Export list for 192.168.60.3:

/share 192.168.60.0/24

去客户端操作我们连接NFS共享到客户端本地。

[root@session ~]# mkdir /test                  (新建一个目录)

[root@session ~]# showmount -e 192.168.60.3    (查看一下NFS服务器端的共享目录)

Export list for 192.168.60.3:

/share 192.168.60.0/24

[root@session ~]# mount -t nfs 192.168.60.3:/share /test   (我们挂载共享到/test)

屏幕卡在这里不动了,检查发现,因为NFS客户端没有启动portmap服务会造成卡住的现象,我们用下面的方法来解决

[root@session ~]# /etc/init.d/portmap start    (启动RPC服务)

Starting portmap:                                        [  OK  ]

[root@session ~]# mount -t nfs 192.168.60.3:/share /test    (再次挂载就成功了)

[root@session ~]# cd /test                     (进入/test这个NFS目录)

[root@session test]# touch 1                   (我们新建一个文件,发现居然没有权限)

touch: cannot touch `1': Permission denied

【接下来,我们开始排错】 我们回到服务器端操作,为了解决权限的问题,我们先放777的权限给NFS目录测试。

[root@NFS /]# chmod 777 share             (修改NFS共享目录的权限为777)

[root@NFS /]# ll                          (确认修改成功了)

total 166

drwxr-xr-x  2 root      root       4096 Mar 23 20:52 bin

drwxr-xr-x  4 root      root       1024 Mar 23 18:18 boot

drwxr-xr-x 12 root      root       4220 May 27 19:42 dev

drwxr-xr-x 84 root      root       4096 May 27 20:33 etc

drwxr-xr-x  3 root      root       4096 Mar 23 22:26 home

drwxr-xr-x 11 root      root       4096 Mar 23 20:52 lib

drwxr-xr-x  7 root      root      12288 Mar 23 20:52 lib64

drwx------  2 root      root      16384 Mar 23 18:14 lost+found

drwxr-xr-x  2 root      root       4096 Jan 27  2010 media

drwxr-xr-x  2 root      root       4096 Mar 31  2010 misc

drwxr-xr-x  2 root      root       4096 Jan 27  2010 mnt

drwxr-xr-x  2 root      root       4096 Jan 27  2010 opt

dr-xr-xr-x 77 root      root          0 May 27 19:41 proc

drwxr-x---  2 root      root       4096 Mar 23 22:24 root

drwxr-xr-x  2 root      root      12288 Mar 23 20:52 sbin

drwxr-xr-x  2 root      root       4096 Mar 23 18:14 selinux

drwxrwxrwx  2 nfsnobody nfsnobody  4096 May 27 20:16 share

drwxr-xr-x  2 root      root       4096 Jan 27  2010 srv

drwxr-xr-x 11 root      root          0 May 27 19:41 sys

drwxrwxrwt  3 root      root       4096 May 27 19:42 tmp

drwxr-xr-x 15 root      root       4096 Mar 23 18:16 usr

drwxr-xr-x 20 root      root       4096 Mar 23 18:17 var

【接下来我们回到客户端操作】此时在客户端,我们发现已经可以正常写入文件到NFS共享了。

[root@session test]# touch 1    (新建文件成功)

[root@session test]# ll         (查看一下,我们发现文件所有者和所属组均为65534  不是我们指定的nfsnobody用户)

total 0

-rw-r--r-- 1     65534     65534 0 May 27 20:42 1

由此我们判断,刚才没有权限写入,是因为客户端不是nfsnobody的身份。由此我们找到了故障点。

【我们回到服务器端排错,解决问题】

[root@NFS /]# cat /etc/passwd         (查看一下用户文件)

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

news:x:9:13:news:/etc/news:

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

nscd:x:28:28:NSCD Daemon:/:/sbin/nologin

vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin

rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin

mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin

oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin

pcap:x:77:77::/var/arpwatch:/sbin/nologin

ntp:x:38:38::/etc/ntp:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

nfsnobody:x:4294967294:4294967294:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

avahi:x:70:70:Avahi daemon:/:/sbin/nologin

xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin

haldaemon:x:68:68:HAL daemon:/:/sbin/nologin

avahi-autoipd:x:100:104:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin

zhangyang:x:500:500::/home/zhangyang:/bin/bash

我们看到nfsnobody的UID和GID是4294967294,并不是65534。我们通过修改NFS配置文件,指定匿名用户的UID和GID

[root@NFS /]# vi /etc/exports      (在配置文件里面增加指定UID和GID的部分)

/share 192.168.60.0/24(rw,sync,all_squash,root_squash,anonuid=4294967294,anongid=4294967294)

[root@NFS /]# /etc/init.d/nfs restart     (重启启动一下NFS服务,使配置生效)

Shutting down NFS mountd:                                  [  OK  ]

Shutting down NFS daemon:                                  [  OK  ]

Shutting down NFS quotas:                                  [  OK  ]

Shutting down NFS services:                                [  OK  ]

Starting NFS services:                                     [  OK  ]

Starting NFS quotas:                                       [  OK  ]

Starting NFS daemon:                                       [  OK  ]

Starting NFS mountd:                                       [  OK  ]

[root@NFS /]# chmod 755 share             (我们将共享文件的权限改回755)

[root@NFS /]# ll                          (确认修改成功)

total 166

drwxr-xr-x  2 root      root       4096 Mar 23 20:52 bin

drwxr-xr-x  4 root      root       1024 Mar 23 18:18 boot

drwxr-xr-x 12 root      root       4220 May 27 19:42 dev

drwxr-xr-x 84 root      root       4096 May 27 20:33 etc

drwxr-xr-x  3 root      root       4096 Mar 23 22:26 home

drwxr-xr-x 11 root      root       4096 Mar 23 20:52 lib

drwxr-xr-x  7 root      root      12288 Mar 23 20:52 lib64

drwx------  2 root      root      16384 Mar 23 18:14 lost+found

drwxr-xr-x  2 root      root       4096 Jan 27  2010 media

drwxr-xr-x  2 root      root       4096 Mar 31  2010 misc

drwxr-xr-x  2 root      root       4096 Jan 27  2010 mnt

drwxr-xr-x  2 root      root       4096 Jan 27  2010 opt

dr-xr-xr-x 77 root      root          0 May 27 19:41 proc

drwxr-x---  2 root      root       4096 Mar 23 22:24 root

drwxr-xr-x  2 root      root      12288 Mar 23 20:52 sbin

drwxr-xr-x  2 root      root       4096 Mar 23 18:14 selinux

drwxr-xr-x  2 nfsnobody nfsnobody  4096 May 27 20:42 share

drwxr-xr-x  2 root      root       4096 Jan 27  2010 srv

drwxr-xr-x 11 root      root          0 May 27 19:41 sys

drwxrwxrwt  3 root      root       4096 May 27 19:42 tmp

drwxr-xr-x 15 root      root       4096 Mar 23 18:16 usr

drwxr-xr-x 20 root      root       4096 Mar 23 18:17 var

【回到客户端操作】确认配置正确,排错完成。[root@session test]# touch 2    (新建一个文件2)

[root@session test]# touch 3    (新建一个文件3)

[root@session test]# ll         (查看一下。我们发现写入和用户都正常了)

total 0

-rw-r--r-- 1     65534     65534 0 May 27 20:42 1

-rw-r--r-- 1 nfsnobody nfsnobody 0 May 27  2012 2

-rw-r--r-- 1 nfsnobody nfsnobody 0 May 27  2012 3

【总结】

我们发现在CentOS 5.5 X64中 cat /etc/passwd之后,nfsnobody用户的UID和GID均为4294967294。但是NFS服务,默认使用65534作为匿名用户的UID和GID,由此造成权限问题。该问题在32位centos和最新版的64位Centos中不存在。如果您遇到了和我一样的问题。可以通过修改配置文件,指定匿名用户的UID和GID来解决。

linux nfsnobody用户,处理CentOS 5.5 x64 配置NFS服务过程中nfsnobody用户造成的问题相关推荐

  1. 处理Centos5.5 x64 配置NFS服务过程中nfsnobody用户造成的问题

    今天使用 Centos5.5 64位的系统部署一个NFS服务器之后,使用客户端进行挂载,遇到了权限不足的问题,以下把我的排错过程和问题处理过程和各位分享.如果您在配置NFS服务器的过程中,遇到了同样的 ...

  2. CentOS 8安装并配置NFS服务

    先决条件 我们假设您有一台运行CentOS 8的服务器,我们将在该服务器上设置NFS服务器和其他充当NFS客户端的计算机.服务器和客户端应该能够通过专用网络相互通信.如果您的托管服务提供商不提供私有I ...

  3. 一对一直播源码开发,如何改善音视频通话过程中的用户体验?

    在一对一直播源码开发中,由于是单个用户对话单个用户,所以对音视频通话质量的要求会比较高,那应该如何在开发时改善音视频通话中的用户体验呢? 一.选择播放模式 在一对一直播源码中视频通话过程中出现马赛克或 ...

  4. linux+4.4+android,Ubuntu 14.04 x64配置Android 4.4 kitkat编译环境的方法

    Ubuntu 14.04 x64配置Android 4.4 kitkat编译环境的方法跟Ubuntu 12.04 - 13.10 以及jellybean编译环境配置没多大区别, 顺便记录下而已: 64 ...

  5. CentOS 6.5系统下安装和配置NFS服务

    一.环境介绍: 服务器:centos 192.168.1.225 客户端:centos 192.168.1.226 二.安装: NFS的安装配置: centos 5 : 1 yum -y instal ...

  6. linux的scp命令用不了,scp命令及使用过程中常见问题的解决方案

    scp命令用于操作系统之间(Linux之间或者linux与windows之间)复制文件和目录. scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命 ...

  7. CDN高级技术专家周哲:深度剖析短视频分发过程中的用户体验优化技术点

    摘要: 深圳云栖大会已经圆满落幕,在3月29日飞天技术汇-弹性计算.网络和CDN专场中,阿里云CDN高级技术专家周哲为我们带来了<海量短视频极速分发>的主题分享,带领我们从视频内容采集.上 ...

  8. CentOS 7本地镜像部署NFS服务

    一.基础设置(包扩服务器端与客户端) 关闭防火墙: Systemctl status firewalld #查看防火墙状态 Systemctl stop firewalld #停止防火墙 System ...

  9. Promise过程中穿插用户操作

    我们都知道Promise可以通过then的操作来实现链式的调用 在这个过程中如何穿插一下用户的操作(例如选择选项,输入内容)从而进行中断,直到用户操作结束后再继续往下执行呢. 接下来通过Promise ...

最新文章

  1. ORB-SLAM2 论文翻译
  2. 【Qt】信号和槽对值传递参数和引用传递参数的总结
  3. 图解谷歌大脑丶城市大脑丶全球脑与互联网大脑的关系
  4. [Swift]LeetCode206. 反转链表 | Reverse Linked List
  5. mysql 之后,装完MySQL之后的一些操作
  6. 【PAT乙级】1084 外观数列 (20 分)
  7. 推荐3个C++系统项目!初级开发者必学!
  8. 04-树7 二叉搜索树的操作集(c语言实现)
  9. android 那几种动画,Android 动画实现几种方案
  10. 知方可补不足~数据库名称和数据库别名不同了怎么办
  11. RN子组件获取redux数据
  12. 【白皮书分享】快手私域经营白皮书.pdf(附下载链接)
  13. 有没有更好的方法在JavaScript中执行可选的函数参数? [重复]
  14. node.js 快速入门
  15. matlab有限差分一维导热,一维导热方程-有限差分法-matlab实现.docx
  16. Computer Networking——transport layer QA
  17. php股票量化交易接口有什么优势?
  18. 工作了17年,2021年双11是我见过有史以来“撸腾讯云羊毛”最狠的一次,血赚
  19. 使用plist文件进行ipa的安装
  20. 【Windows】Windows如何使用注册表修改软件默认安装路径?

热门文章

  1. antd table排序 vue_商品品牌业务之Vue编写前端页面
  2. altium designer 10哪个作者写的好 。
  3. diy一个android手机版下载,原神个人自制版
  4. msf各种弱口令爆破
  5. 【自定义组件】如何引用自定义组件
  6. 深入学习jQuery选择器系列第六篇——过滤选择器之状态选择器
  7. 封装cookie设置和获取的简易方法
  8. Vue Webpack常见问题(持续更新)
  9. 几道web前端练习题目
  10. 浅谈.Net版(C#)的CMP模式