处理Centos5.5 x64 配置NFS服务过程中nfsnobody用户造成的问题
今天使用?Centos5.5 64位的系統(tǒng)部署一個NFS服務(wù)器之后,使用客戶端進(jìn)行掛載,遇到了權(quán)限不足的問題,以下把我的排錯過程和問題處理過程和各位分享。如果您在配置NFS服務(wù)器的過程中,遇到了同樣的問題,希望這篇blog對您有所幫助。
?
環(huán)境:
NFS服務(wù)器IP:192.168.60.3 ? 使用CentOS 5.5 x64操作系統(tǒng)
NFS客戶端IP:192.168.60.4 ??使用CentOS 5.5 x64操作系統(tǒng)
?
NFS服務(wù)配置過程
1、查看確認(rèn)一下,當(dāng)前NFS服務(wù)器的NFS服務(wù)和RPC服務(wù)的狀態(tài)
[root@NFS ~]# chkconfig --list |grep 3:on ? (查看目前開機(jī)啟動的服務(wù))
crond?????????? 0:off?? 1:off?? 2:on??? 3:on??? 4:on??? 5:on??? 6:off
network???????? 0:off?? 1:off?? 2:on??? 3:on??? 4:on??? 5:on??? 6:off
sshd??????????? 0:off?? 1:off?? 2:on??? 3:on??? 4:on??? 5:on??? 6:off
syslog????????? 0:off?? 1:off?? 2:on??? 3:on??? 4:on??? 5:on??? 6:off
sysstat???????? 0:off?? 1:off?? 2:on??? 3:on??? 4:off?? 5:on??? 6:off
[root@NFS ~]# /etc/init.d/portmap? status ? (查看一下,portmap啟動沒有)
portmap is stopped
[root@NFS ~]# /etc/init.d/nfs? status ??? ? (查看一下,NFS啟動沒有)? ?
rpc.mountd is stopped
nfsd is stopped
rpc.rquotad is stopped
?
2、由于兩個服務(wù)都沒有啟動,并且沒有設(shè)置開機(jī)啟動,所以我們進(jìn)行一下配置
[root@NFS ~]# chkconfig nfs on ? ? ? ? ? ? (設(shè)置NFS服務(wù)開機(jī)啟動)
[root@NFS ~]# chkconfig portmap on ? ? ? ? (設(shè)置portmap服務(wù)器開機(jī)啟動)
[root@NFS ~]# chkconfig --list |grep 3:on ?(確認(rèn)一下修改生效了)
network???????? 0:off?? 1:off?? 2:on??? 3:on??? 4:on??? 5:on??? 6:off
nfs???????????? 0:off?? 1:off?? 2:on??? 3:on??? 4:on??? 5:on??? 6:off
portmap???????? 0:off?? 1:off?? 2:on??? 3:on??? 4:on??? 5:on??? 6:off
sshd??????????? 0:off?? 1:off?? 2:on??? 3:on??? 4:on??? 5:on??? 6:off
syslog????????? 0:off?? 1:off?? 2:on??? 3:on??? 4:on??? 5:on??? 6:off
sysstat???????? 0:off?? 1:off?? 2:on??? 3:on??? 4:off?? 5:on??? 6:off??
?
3、我們重新啟動一下服務(wù)器,確認(rèn)一下上述修改都生效了,服務(wù)器啟動正常。
[root@NFS ~]# shutdown -r now ? ? ? ? ? ? (重啟一下服務(wù)器)
[root@NFS ~]# /etc/init.d/nfs status???
rpc.mountd (pid 2434) is running...
nfsd (pid 2431 2430 2429 2428 2427 2426 2425 2424) is running...
rpc.rquotad (pid 2398) is running... [root@NFS ~]# netstat -lnt ? ? ? ? ? ? ? ?(查看一下RPC端口號是否正常)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address?????????????? Foreign Address???????????? State?????
tcp??????? 0????? 0 0.0.0.0:2049??????????????? 0.0.0.0:*?????????????????? LISTEN?????
tcp??????? 0????? 0 0.0.0.0:111???????????????? 0.0.0.0:*?????????????????? LISTEN?????
tcp??????? 0????? 0 0.0.0.0:882???????????????? 0.0.0.0:*?????????????????? LISTEN?????
tcp??????? 0????? 0 0.0.0.0:917???????????????? 0.0.0.0:*?????????????????? LISTEN?????
tcp??????? 0????? 0 0.0.0.0:7455??????????????? 0.0.0.0:*?????????????????? LISTEN?????
tcp??????? 0????? 0 :::65534??????????????????? :::*??????????????????????? LISTEN ? ??
[root@NFS ~]#?rpcinfo -p ? ? ? ? ? (查看一下RPC注冊的端口號)
?? program vers proto?? port
??? 100000??? 2?? tcp??? 111? portmapper
??? 100000??? 2?? udp??? 111? portmapper
??? 100011??? 1?? udp??? 879? rquotad
??? 100011??? 2?? udp??? 879? rquotad
??? 100011??? 1?? tcp??? 882? rquotad
??? 100011??? 2?? tcp??? 882? rquotad
??? 100003??? 2?? udp?? 2049? nfs
??? 100003??? 3?? udp?? 2049? nfs
??? 100003??? 4?? udp?? 2049? nfs
??? 100021??? 1?? udp? 14392? nlockmgr
??? 100021??? 3?? udp? 14392? nlockmgr
??? 100021??? 4?? udp? 14392? nlockmgr
??? 100003??? 2?? tcp?? 2049? nfs
??? 100003??? 3?? tcp?? 2049? nfs
??? 100003??? 4?? tcp?? 2049? nfs
??? 100021??? 1?? tcp?? 7455? nlockmgr
??? 100021??? 3?? tcp?? 7455? nlockmgr
??? 100021??? 4?? tcp?? 7455? nlockmgr
??? 100005??? 1?? udp??? 914? mountd
??? 100005??? 1?? tcp??? 917? mountd
??? 100005??? 2?? udp??? 914? mountd
??? 100005??? 2?? tcp??? 917? mountd
??? 100005??? 3?? udp??? 914? mountd
??? 100005??? 3?? tcp??? 917? mountd
[root@NFS ~]# mkdir /share ? ? ? (新建一個目錄用于NFS共享)
[root@NFS ~]# cd / ? ? ? ? ? ? ? (回到根目錄)
[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:15 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 79 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 root root? 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 [root@NFS /]# chown nfsnobody:nfsnobody share ? ?(我們修改一下share的所有者和所屬組)
[root@NFS /]# ll ? ? ? ? ? ? ? ? ?(確認(rèn)一下所有者和所屬組修改好了)
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: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 4、我們編譯一下這個NFS的配置文件。 [root@NFS /]# vi /etc/exports???????
/share 192.168.60.0/24(rw,sync,all_squash,root_squash) ? ?(我們允許這個共享對192.168.60.0/24網(wǎng)段可讀可寫,且將所有訪問者包括root的身份都改為nfsnobody) [root@NFS /]# /etc/init.d/nfs restart ? ? ? ? ? (重新啟動一下NFS服務(wù))
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服務(wù)器端的共享目錄)
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) 屏幕卡在這里不動了,檢查發(fā)現(xiàn),因?yàn)镹FS客戶端沒有啟動portmap服務(wù)會造成卡住的現(xiàn)象,我們用下面的方法來解決
[root@session ~]# /etc/init.d/portmap start ? ?(啟動RPC服務(wù))
Starting portmap:??????????????????????????????????????? [? OK? ]
[root@session ~]# mount -t nfs 192.168.60.3:/share /test ? ?(再次掛載就成功了)
[root@session ~]# cd /test ? ? ? ? ? ? ? ? ? ? (進(jìn)入/test這個NFS目錄) [root@session test]# touch 1 ? ? ? ? ? ? ? ? ? (我們新建一個文件,發(fā)現(xiàn)居然沒有權(quán)限)
touch: cannot touch `1': Permission denied 【接下來,我們開始排錯】 我們回到服務(wù)器端操作,為了解決權(quán)限的問題,我們先放777的權(quán)限給NFS目錄測試。 [root@NFS /]# chmod 777 share ? ? ? ? ? ? (修改NFS共享目錄的權(quán)限為777)
[root@NFS /]# ll ? ? ? ? ? ? ? ? ? ? ? ? ?(確認(rèn)修改成功了)
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 【接下來我們回到客戶端操作】此時在客戶端,我們發(fā)現(xiàn)已經(jīng)可以正常寫入文件到NFS共享了。 [root@session test]# touch 1 ? ?(新建文件成功) [root@session test]# ll ? ? ? ? (查看一下,我們發(fā)現(xiàn)文件所有者和所屬組均為65534 ?不是我們指定的nfsnobody用戶)
total 0
-rw-r--r-- 1???? 65534???? 65534 0 May 27 20:42 1 由此我們判斷,剛才沒有權(quán)限寫入,是因?yàn)榭蛻舳瞬皇莕fsnobody的身份。由此我們找到了故障點(diǎn)。 【我們回到服務(wù)器端排錯,解決問題】 [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服務(wù),使配置生效)
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 ? ? ? ? ? ? (我們將共享文件的權(quán)限改回755)
[root@NFS /]# ll ? ? ? ? ? ? ? ? ? ? ? ? ?(確認(rèn)修改成功)
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 【回到客戶端操作】確認(rèn)配置正確,排錯完成。 [root@session test]# touch 2 ? ?(新建一個文件2)
[root@session test]# touch 3?? ?(新建一個文件3)
[root@session test]# ll ? ? ? ? (查看一下。我們發(fā)現(xiàn)寫入和用戶都正常了)
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 【總結(jié)】 我們發(fā)現(xiàn)在CentOS 5.5 X64中 cat /etc/passwd之后,nfsnobody用戶的UID和GID均為4294967294。但是NFS服務(wù),默認(rèn)使用65534作為匿名用戶的UID和GID,由此造成權(quán)限問題。該問題在32位centos和最新版的64位Centos中不存在。如果您遇到了和我一樣的問題。可以通過修改配置文件,指定匿名用戶的UID和GID來解決。? ############################################################################################# ##ver1.0 2012-05-28 ##本文內(nèi)容來自《老男孩linux運(yùn)維培訓(xùn)中心》學(xué)生—張陽(Eric) ##如有轉(zhuǎn)載,請務(wù)必保留本文鏈接及版權(quán)信息。 ##張陽?QQ:962903? ##張陽?E-mail:zywqs@msn.com ##51CTO博客:http://zywqs.blog.51cto.com/ ================================================================================= ##歡迎廣到運(yùn)維兄弟一起交流linux/unix網(wǎng)站運(yùn)維技術(shù)! ##網(wǎng)站運(yùn)維交流群:114580181?45039636?37081784?
##老男孩培訓(xùn)交流群? 208160987 226199307? 44246017 ##老男孩?? QQ:31333741 ##老男孩 ?E-mail:31333741@qq.com ##網(wǎng)站地址:http://oldboy.cc?? http://www.etiantian.org ##51CTO博客:http://oldboy.blog.51cto.com ###################################################################################################
?
轉(zhuǎn)載于:https://blog.51cto.com/zywqs/880844
總結(jié)
以上是生活随笔為你收集整理的处理Centos5.5 x64 配置NFS服务过程中nfsnobody用户造成的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自定义验证和数据处理的Utils工具类,
- 下一篇: egret引擎下,微信分包,微信登陆,微