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

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来解决。0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373150.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机语言

软件:是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。 系统软件 系统软件是各类操作系统,如windows、Linux、UNIX等,还包括操作系统的补丁程序及硬件驱动程序&#xf…

Apache Shiro第2部分–领域,数据库和PGP证书

这是致力于Apache Shiro的系列文章的第二部分。 我们从简单的不安全Web应用程序开始了上一部分 。 完成后,该应用程序具有基本的身份验证和授权。 用户可以登录和注销。 所有网页和按钮均已分配和实施访问权限。 授权和身份验证数据都已存储在静态配置文件中。 正如…

js中变量作用域的小理解

一:变量作用域 在js代码中每个变量都是有自己的作用域的,js中不像C语言有块级作用域的概念,取而代之的是函数作用域,看如下代码: var scope"global"; function init(){ alert(scope);var scope "local…

安卓linux开机画面,Android系统的开机画面显示过程分析(1)

好几个月都没有更新过博客了,从今天开始,老罗将尝试对Android系统的UI实现作一个系统的分析,也算是落实之前所作出的承诺。提到Android系统的UI,我们最先接触到的便是系统在启动过程中所出现的画面了。Android系统在启动的过程中&…

如果你的NavigationDrawer里面的Item没有响应,Drawer不能左滑关闭

如果你的NavigationDrawer里面的Item没有响应,Drawer不能左滑关闭,应该是因为你没有把主要内容放在DrawerLayout标签下的第一位。 The main content view (the FrameLayout above) must be the first child in the DrawerLayout because the XML order i…

JAXB和未映射的属性

JAXB(JSR-222)是例外配置,这意味着存在默认映射应用于域对象。 这意味着有时您需要显式排除字段/属性。 在本文中,我将讨论如何使用XmlTransient或XmlAccessorType(XmlAccessType.NONE)以及何时使用每个选项…

sublime text3 使用SVN插件

Simon在项目中经常使用SVN,每次都要切换提交,很麻烦,有了这个SVN插件就很方便了,使用快捷方式提交,更新。 安装: Ctrl Shift P 调用出Sublime Text的包管理工具,输入TortoiseSVN,回车进行安装…

c语言空格有什么作用,空格在c语言中怎么表示 C语言中的空格字符怎么表示

c语言中表示空格的是什么代码?分析如下: 不是所有字符都需要转义的,空格直接就敲空格,或者使用ASCII码值赋值为32。 空格没有转义字符。合法转义字符如下:\a 响铃(BEL) 、\b 退格(BS)、\f 换页(FF)、\n 换行(LF)、\r 回…

二维数组实现八皇后问题

之前关八皇后的问题全部使用的是一维数组进行实现(http://www.cnblogs.com/SeaSky0606/p/4604955.html)&#xff0c;现改一种数据存储方式&#xff0c;按照8x8的二维棋盘存储皇后。基本逻辑不变&#xff0c;可参见如下代码&#xff1a; #include<cstdio> #include<alg…

Java的深度:通过协方差暴露的API泄漏

Java有时可能非常棘手&#xff0c;特别是在API设计中。 让我们看一个非常有趣的展示柜。 jOOQ强烈地将API与实现分开。 所有API都在org.jooq包中&#xff0c;并且是公共的。 大多数实现都在org.jooq.impl包和package-private中。 只有工厂和一些专用的基础实现是公开的。 这允许…

StringMVC 中如何做数据校验

步骤一&#xff1a;引入四个jar包 步骤二&#xff1a;注册类型转换器 <context:component-scan base-package"cn.happy.controller"></context:component-scan><!-- 配置验证器 --><bean id"myvalidator" class"org.springframe…

ibm+x3650+m4+linux+raid驱动,IBM X3650M4阵列卡驱动下载

ibm X3650M4raid阵列卡驱动适合安装windowsserver2008,windowsserver2008R2,系统问题&#xff0c;服务器问题&#xff0c;可以联系我们也可以到5分享论坛发帖求助。IBM System x3650 M4服务器是一款应用最为广泛的2U机架服务器&#xff0c;支持Xeon E5-2600机架服务器的所有产品…

为什么在Java 6上Math.round(0.499999999999999917)舍入为1

总览 错误表示错误和算术舍入错误有两种类型&#xff0c;它们在浮点计算中很常见。 在此简单示例中&#xff0c;这两个错误组合在一起&#xff0c;在Java 6中Math.round&#xff08;0.4999999999999999999917&#xff09;舍入为1。 表示错误 浮点数是以2为底的格式&#xff0c…

单利模式

class Singleton{ public:static Singleton* GetInstance(){if (m_pInstance nullptr){m_pInstance new Singleton;}return m_pInstance;} private:Singleton(){}//需要将构造和析构定义成私有的防止外界构造和析构~Singleton(){}static Singleton* m_pInstance;//static所有…

C语言switch中break的作用,C语言中switch...case语句中break的重要性

在C语言中switch...case语句是经常用到的&#xff0c;下面我介绍一下在使用该语句时候需要注意的一个细节问题。话不多说&#xff0c;直接举例子&#xff1a;例子1&#xff1a;switch(fruit){case 1:printf("apple"); break;case 2:printf("banana"); brea…

BZOJ 1898: [Zjoi2005]Swamp 沼泽鳄鱼 [矩阵乘法]

1898: [Zjoi2005]Swamp 沼泽鳄鱼 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1082 Solved: 602[Submit][Status][Discuss]Description 潘塔纳尔沼泽地号称世界上最大的一块湿地&#xff0c;它地位于巴西中部马托格罗索州的南部地区。每当雨季来临&#xff0c;这里碧波荡漾…

从Spring开始,Java EE 6必须具备哪些附加功能?

我是一名高级Java开发人员&#xff0c;必须研究应用程序架构师选择的技术。 我最多只能表达对特定技术的看法&#xff0c;不能做出/影响技术选择的决定。 因此&#xff0c;在我的正式项目中&#xff0c;我别无选择从Spring迁移到JavaEE6或从JavaEE6迁移到Spring。 我坚信&#…

UML类图与类的关系详解

在画类图的时候&#xff0c;理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现&#xff08;Realization&#xff09;、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation)&#xff0c;合成关系(Composition)。下面我们…

教程:Hibernate,JPA和Spring MVC –第2部分

本教程将向您展示如何使用基本的Hibernate / JPA应用程序&#xff0c;如何将其转换为Spring MVC Web项目&#xff0c;以便能够在Web浏览器中查看数据库&#xff0c;以及最后使用Spring的Transactional注释来减少样板代码。 本教程假定您熟悉Java和Maven&#xff0c;并且已经完成…

算法转换c语言程序,(转)C语言实现卡尔曼滤波算法程序

非常感谢原作者&#xff0c;我在这个的基础上转换成纯整形运算。STM32F103 12位ADC先放大1000倍再运算&#xff0c;理论上可以保留小数点后三位的结果。效果非常不错&#xff0c;运算速度也快&#xff0c;72M时钟 1-2uS左右(根据MDK周期数)。]uint32_t KalmanFilter(int32_t Re…