linux修改目录为nobody,nfs只能挂载为nobody的解决方法
不得不承認centos6較centos5發(fā)生了很大的變化,在新部署的centos 6.4上又遇到nfs掛載的問題。問題現(xiàn)象是,在配置完nfs后,無論配置里指定的是何用戶,掛載成功后顯示的只能是nobody用戶,本想通過修改/etc/passwd和/etc/group對應的uid和gid號解決,發(fā)現(xiàn)重新掛載后,用戶仍然是nobody 。
造成該問題的原因是,在centos 6版本中默認使用的nfs-v4版本,其提供了稱為rpc.idmapd 的守護進程,并使用 /etc/idmapd.conf 的配置文件。當請求加載nfsv4 時,該守護進程將處理 UID 和 GID 映射。默認使用nis,沒有nis它會自動映射成nobody用戶。
既然找到了原因,找解決方法也就不難了,大致找了下網(wǎng)上的解決方法,分如下兩種。
方法一:mount中指定參數(shù)法
在mount掛載的時候指定使用v3版本去掛載,如下:mount??-t??nfs??-o??vers=3??ip:/data1???/data1
顯然不推薦該方法,既然有了V4版本,其肯定較V3版本做了很多優(yōu)化,如果再用V3,顯然跟不上時代的步伐 。
方法二:修改/etc/idmapd.conf文件
修改前,先看下為什么會mount成nobody,在/etc/idmapd.conf文件中,mapping配置下有如下兩句 。[Mapping]Nobody-User?=?nobodyNobody-Group?=?nobody
有人肯定說,直接修改這兩句,變成想要的用戶和組不就行了 ? 當然沒這么簡單,這里改了后,會發(fā)現(xiàn)mount的目錄只有讀的權(quán)限,沒有寫的權(quán)限 。想在徹底的解決該文件,只需要客戶端和服務端各改一行就行了。修改方法為,取消/etc/idmapd.conf中如下行的注釋,改為你所使用的根域名:#Domain?=?local.domain.edu
如:都改為:Domain?=?361way.com
更改完成后,重啟idmapd服務:service?rpcidmapd?restart
至此,問題解決。記得是客戶端和服務端都要修改才行,只改一處,問題仍然無法解決 。另外在umount的過程中,還可能遇到無法umount的問題:root@test:/#?umount?/data1/nfs/umount.nfs:?/data1/nfs:?device?is?busy
umount.nfs:?/data1/nfs:?device?is?busy
遇到該問題時只需要使用fuser命令就可以解決:root@test:/#?fuser?-km?/data1/nfs/或root@test:/#?fuser?-f?/data1/nfs/
執(zhí)行完上面的操作后,再去umount就可以了。fuser上面用到的幾個參數(shù)的意義如下:-f????????silently?ignored?(for?POSIX?compatibility)
-i????????ask?before?killing?(ignored?without?-k)
-k????????kill?processes?accessing?the?named?file
-m????????show?all?processes?using?the?named?filesystems
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的linux修改目录为nobody,nfs只能挂载为nobody的解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】生成随机的1和0 布尔型
- 下一篇: 【Leetcode】岛屿问题(数量,周长