2012-01-04 42 views
6

好吧,我對這個東西感到非常困惑,所以真正描述性的答案將不勝感激,特別是如果他們使整個安裝東西不那麼神奇和更可預測。NFS網絡掛載:將所有者設置爲特定帳戶

我想用nfs掛載我的Drobo-FS NAS以獲得比使用cif更好的性能。

drobo正在運行一些修剪下來的linux發行版。

# Mount Drobo 
192.168.1.100:/mnt/DroboFS/Shares/public /media/drobonfs nfs rw,soft,proto=tcp,users 0 0 

我已經unfsd安裝在通過SSH的Drobo可以和訪問:客戶端機器(192.168.1.150的Ubuntu與IP)上

內/ etc/fstab中。這是出口的服務器機(含IP 192.168.1.100的Drobo-FS)上的文件:

# Allow access for client machine 
/mnt/DroboFS/Shares 192.168.1.150(rw,no_root_squash) 

安裝工作正常,除了安裝文件都與大多數設置爲744文件權限的歸根。客戶端上顯示的文件權限與服務器上的實際權限相匹配。例如:在每一個命令前

client$ sudo chmod 123 /media/drobonfs/somefile 
client$ ls -l /media/drobonfs/somefile 
---x-w--wx 1 root root 0 2012-01-04 14:15 /media/drobonfs/somefile 

drobo$ ls -l /mnt/DroboFS/Shares/public/somefile 
---x-w--wx 1 root  root   0 Jan 4 14:15 /mnt/DroboFS/Shares/public/somefile 

寫作須藤是一拖,我想明白是怎麼回事,所以我能做些什麼,以將其安裝在客戶機設置爲所有者/組對我的帳戶而不是根?

回答

1

看起來這應該在Drobo產品出口工作:

的/ mnt/DroboFS /股192.168.1.150(RW,all_squash會將,anonuid = NNN)

其中NNN是對您的數字用戶ID客戶。

+0

不幸的是,這沒有奏效。它仍然安裝,但所有者/組仍然設置爲root。 – Matthew 2012-01-05 20:21:19

0

變化/etc/exports中到:

/mnt/DroboFS/Shares 192.168.1.150(rw,insecure) 

,然後,NFS服務器上,運行:

$ sudo exportfs -a 

現在,當你在安裝目錄作爲非root用戶將用適當的所有者和組裝入的NFS客戶端。

+1

爲什麼選項'不安全'在這裏幫助......? – 2016-01-18 13:48:46

4

當安裝共享時,主機系統的用戶標識(UID)映射到客戶端的用戶標識(UID)。

在客戶端上,映射用戶(基於用戶ID)將成爲掛載共享的所有者。

您的問題是由於主機使用其他UID,然後客戶端引起的。

您可以通過定義一個/etc/nfs.map文件解決此問題:

/etc/nfs.map

這將是這樣的:

# remote local gid 500 1000 # drobo client uid 500 2003 # drobo client

因此,在使用NFS時,你需要做確定主機和客戶端上的用戶之間存在UID/GID匹配。 請閱讀下面的文章也:http://www.kernelcrash.com/blog/nfs-uidgid-mapping/2007/09/10/

另一個偉大的方式來解決這個問題是看在兩個系統中,這/etc/passwd文件尋找到主機和客戶端系統上的UID。

或打字:

id tom 

變化與UID:

usermod -u 10000 tom 

祝你好運!

+0

map_static用於設置nfs.map在centos 7 x86_64上無法識別,默認情況下安裝nfs-server。 '未知的關鍵字「map_static =/etc/nfs.map」' – 2017-05-27 08:02:51

+0

更改UID/GID讓服務器和客戶端具有相同的UID/GID號碼。 [Linux的改變 - 的UID和 - GID的換用戶(https://muffinresearch.co.uk/linux-changing-uids-and-gids-for-user/) – 2017-05-27 08:16:03