V3版本,是目前的主流,但是安全性方面沒有V4好。RHEL7預設是V4。
V3配置比較友善簡單,V4相對比較複雜。
建立共享
1.編輯/etc/exports檔案,添加共享條目,如下
<code>/inter</code> <code>10.42.1.28(rw,</code><code>sync</code><code>)</code>
2.
systemctl start nfs rpcbind
#注意rpcbind服務需要先啟動,然後再啟動nfs
#啟動這2個服務,并添加到防火牆
#特别注意mountd這個服務也要添加到防火牆!
在用戶端檢視共享資訊
<code>[chomperwu@rh2 data]$ showmount -e 10.42.1.27</code>
<code>Export list </code><code>for</code> <code>10.42.1.27:</code>
<code>/inter</code> <code>10.42.1.28</code>
在用戶端挂載
<code>[root@rh2 yum.repos.d]</code><code># mount -t nfs 10.42.1.27:/inter /media/</code>
挂載之後會發現root使用者沒有寫的權限
在服務端運作
<code>[root@rh1 /]</code><code># exportfs -v</code>
<code>/inter</code> <code>10.42.1.28(rw,wdelay,root_squash,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)</code>
原因就是有一個root_squash的參數
root_squash:是指當用戶端用root來通路服務端,服務端會把它映射成nfsnobody的身份
nfsnobody是以other的身份來通路檔案或者檔案夾,是以通路受限于共享檔案夾o的權限。
修改o的權限之後就可以建立檔案了,檔案擁有人群組是nfsnobody
<code>[root@rh2 media]</code><code># touch 11</code>
<code>[root@rh2 media]</code><code># ll</code>
<code>total 8</code>
<code>-rw-r--r--. 1 nfsnobody nfsnobody 0 Oct 15 15:33 11</code>
<code>-rw-r--r--. 1 root root 2808 Oct 15 10:59 </code><code>passwd</code>
<code>----------. 1 root root 1562 Oct 15 11:00 shadow</code>
在服務端/etc/exports檔案中添加一個參數no_root_squash
<code>/inter</code> <code>10.42.1.28(rw,</code><code>sync</code><code>,no_root_squash)</code>
reload nfs服務,用戶端root使用者也可以寫了。
no_root_squash:這個參數的作用是用戶端的root通路這個共享檔案夾,就映射成服務端的root身份。
這個參數比較不安全,預設是不開啟的。
#用戶端以root身份通路共享檔案夾,對服務端來說是映射成匿名身份來通路,
如果是其它普通使用者來通路,則映射成對應相同uid的使用者。
用戶端上建立檔案,2個使用者的uid相同
-rw-rw-r--. 1 wudan wudan 0 Oct 15 16:10 33
伺服器端檢視檔案
-rw-rw-r--. 1 user1 user1 0 Oct 15 16:10 33
這個很蠢!
可以添加一個參數all_squash
所有使用者都是以匿名身份來通路!
或者添加這個參數,表示指定以什麼使用者來通路共享。
<code>/home/joe</code> <code>pc001(rw,all_squash,anonuid=150,anongid=100)</code>
kerberos
美國麻省理工開發的
nfs是sun發開的
本文轉自 chomperwu 51CTO部落格,原文連結:http://blog.51cto.com/chomper/1703446,如需轉載請自行聯系原作者