新聞中心
在Linux系統(tǒng)中,網(wǎng)絡文件系統(tǒng)(NFS)是一種用于網(wǎng)絡共享文件和目錄的協(xié)議。它通過將一個或多個遠程文件系統(tǒng)掛載到本地文件系統(tǒng),使得多臺主機可以訪問和共享相同的文件和目錄。在使用NFS時,用戶需要對其默認的權限有所了解,以便對其進行恰當?shù)嘏渲煤凸芾怼?/p>

默認權限
當在Linux系統(tǒng)上安裝了NFS服務器時,默認配置文件通常被設置為“root(根)”可以訪問整個文件系統(tǒng),并允許“everyone(所有人)”對該文件系統(tǒng)進行讀寫訪問。這意味著,在默認配置下,任何人都可以訪問并修改該系統(tǒng)的所有文件和目錄,而不需要進行任何權限驗證或授權。
這顯然是不安全的,并且可以輕易地導致數(shù)據(jù)泄露或其他安全問題。因此,管理員應該正確配置NFS權限,以確保只有授權用戶可以訪問和修改文件和目錄。
配置權限
要正確配置NFS權限,管理員需要進行以下幾個步驟:
1. 創(chuàng)建一個新的NFS共享目錄
為了確保不影響現(xiàn)有的NFS共享,管理員應該首先創(chuàng)建一個新的NFS共享目錄。這個目錄可以被任何用戶訪問,但需要對其進行適當?shù)貦嘞薰芾怼?/p>
2. 確定要授權的用戶和組
管理員需要確定要授權的用戶和組。這可以是單個用戶,也可以是多個用戶組。一旦確定,管理員就需要創(chuàng)建這些用戶和組,并為它們配置適當?shù)臋嘞蕖?/p>
3. 確定適當?shù)臋嘞藜墑e
在為用戶和組配置權限時,管理員需要確定適當?shù)臋嘞藜墑e。這些級別可以是只讀,讀寫或完全訪問權限。管理員需要仔細考慮每個用戶或組所需的權限級別,并確保其不會影響其他用戶或組。
4. 配置NFS共享目錄的權限和ACL
管理員需要在NFS共享目錄上設置適當?shù)腖inux權限和ACL。這些權限和ACL應該確保只有授權用戶或組可以訪問該目錄,并且不允許任何其他人對其進行讀寫訪問。
5. 配置NFS服務器
管理員需要在NFS服務器上配置適當?shù)脑L問控制。這可以通過限制哪些IP地址或主機可以訪問NFS服務器來實現(xiàn)。管理員也可以使用NFS的安全選項來加密文件傳輸數(shù)據(jù),以保護文件系統(tǒng)免受潛在的黑客攻擊。
正確配置NFS權限對于保護Linux系統(tǒng)的安全至關重要。管理員應該仔細審查默認的NFS權限,并確保僅授權用戶可以訪問和修改文件和目錄。通過創(chuàng)建新的NFS共享目錄,確定要授權的用戶和組,確定適當?shù)臋嘞藜墑e,設置適當?shù)腖inux權限和ACL,以及配置NFS服務器,可以確保文件系統(tǒng)和數(shù)據(jù)得到適當?shù)乇Wo。
成都網(wǎng)站建設公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導10多年以來專注數(shù)字化網(wǎng)站建設,提供企業(yè)網(wǎng)站建設,高端網(wǎng)站設計,響應式網(wǎng)站制作,設計師量身打造品牌風格,熱線:028-86922220NFS服務器一個目錄的寫入文件所有人變?yōu)閞oot會怎么樣?
、NFS概述
NFS:Network file system,網(wǎng)絡文件系統(tǒng);
由sun公司1984年推出,用來在網(wǎng)絡中的多臺計算機間實現(xiàn)資源共享(包括象文件或cd-rom);
設計的目的是:實現(xiàn)在不同系統(tǒng)間交互使用,所以它的通信協(xié)議采用與主機和操作系統(tǒng)無關的技術;
NFS Server可以看作是File Server,它可以讓你的PC通過網(wǎng)絡將遠端得NFS SERVER共享出來的檔案MOUNT到自己的系統(tǒng)中,在CLIENT看來使
用NFS的遠端文件就象是在使用本地文件一樣;
NFS協(xié)議從誕生到現(xiàn)在有多個版本:NFS V2(rfc1094),NFS V3(rfc1813)(最新的版本是V4(rfc3010);
如何查看nfs當前的版本:
rpm -qi portmap
rpm -qi nfs-utils
NFS服務器的安裝:
可以由多種安裝方法:
在安裝linux系統(tǒng)時選擇安裝nfs服務對應的組件;(多數(shù)linux發(fā)行版本默認安裝)
安裝nfs的rpm套件包(手動安裝)
rpm -ivh rpm包
需要5個RPM包。
setup-*: 共享NFS目錄在/etc/exports中定義 (linux默認都安裝)
initscripts-*: 包括引導過程中裝載網(wǎng)絡目錄的基本腳本 (linux默認都安裝)
nfs-utils-*: 包括基本的NFS命令與監(jiān)控程序
portmap-*: 支持安全NFS RPC服務的連接
quota-*: 網(wǎng)絡上共享的目錄配額,包括rpc.rquotad (這個包不是必須的)
也可以去下載nfs的源代碼包,進行編譯安裝;
RPC(Remote Procedure call)
NFS本身是沒有提供信息傳輸?shù)膮f(xié)議和功能的,但NFS卻能讓我們通過網(wǎng)絡進漏爛搭行資料的分享,這是因為NFS使用了一些其它的傳輸協(xié)議。而這
些傳輸協(xié)返拿議用到這個RPC功能的??梢哉fNFS本身就是使用RPC的一個程序?;蛘哒fNFS也是一個RPC SERVER.所以只要用到NFS的地方都要啟動RPC
服務,不論是NFS SERVER或者NFS CLIENT。這樣SERVER和CLIENT才能通過RPC來實現(xiàn)PROGRAM PORT的對應??梢赃@么理解RPC和NFS的關系:NFS
是一個文件系統(tǒng),而RPC是負責負責信息的傳輸。
nfs在系統(tǒng)中的后臺守護進程:
nfs
nfs服務需要啟動的其他進程:
rpc.nfsd:接收從遠程系統(tǒng)發(fā)來的NFS請求,并將這些請求轉(zhuǎn)化為本地文件系統(tǒng)請求;
rpc.mountd:執(zhí)行被請求的文件系統(tǒng)歷巧的掛接和卸載操作;
rpc.portmapper:將遠程請求映射到正確的NFS守護程序;
rpc.statd:在遠程主機重啟時,提供加鎖服務;
rpc.quotaed:提供硬盤容量的管理能力,磁盤限額;
rpcinfo -p 可以查看所要的守護進程時候正常運行;
ps -ef | grep nfsd
ps -ef | grep mountd
ps -ef | grep protmap
現(xiàn)在我們來查看服務器上有關NFS服務器啟動了哪些端口:
# lsof -i|grep rpc
portmapdaemon 3u IPv UDP *:sunrpc
portmapdaemon 4u IPv TCP *:sunrpc (LISTEN)
rpc.statdstatd 3u IPv UDP *:1029
rpc.statdstatd 6u IPv UDP *:838
rpc.statdstatd 7u IPv TCP *:1031 (LISTEN)
rpc.mountroot 6u IPv UDP *:691
rpc.mountroot 7u IPv TCP *:694 (LISTEN)
NFS服務的主配置文件:
/etc/exports:
格式:
當將同一目錄共享給多個客戶機,但對每個客戶機提供的權限不同時,可以這樣:
之一列:欲共享出去的目錄,也就是想共享到網(wǎng)絡中的文件系統(tǒng);
第二列:可訪問主機
192.168.152.13 指定IP地址的主機
nfsclient.test.com 指定域名的主機
192.168.1.0/24 指定網(wǎng)段中的所有主機
*.test.com指定域下的所有主機
* 所有主機
第三列:共享參數(shù)
下面是一些NFS共享的常用參數(shù):
下面是一些NFS共享的常用參數(shù):
ro只讀訪問
rw讀寫訪問
sync 所有數(shù)據(jù)在請求時寫入共享
async NFS在寫入數(shù)據(jù)前可以相應請求
secure NFS通過1024以下的安全TCP/IP端口發(fā)送
insecure NFS通過1024以上的端口發(fā)送
wdelay 如果多個用戶要寫入NFS目錄,則歸組寫入(默認)
no_wdelay 如果多個用戶要寫入NFS目錄,則立即寫入,當使用async時,無需此設置。
hide 在NFS共享目錄中不共享其子目錄
no_hide 共享NFS目錄的子目錄
subtree_check如果共享/usr/bin之類的子目錄時,強制NFS檢查父目錄的權限(默認)
no_subtree_check和上面相對,不檢查父目錄權限
all_squash共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄。
no_all_squash保留共享文件的UID和GID(默認)
root_squashroot用戶的所有請求映射成如anonymous用戶一樣的權限(默認)
no_root_squasroot用戶具有根目錄的完全管理訪問權限
anonuid=xxx指定NFS服務器/etc/passwd文件中匿名用戶的UID
例如可以編輯/etc/exports為:
/tmp *(rw,no_root_squash)
/home/public 192.168.0.*(rw) *(ro)
/home/test 192.168.0.100(rw)
/home/linux *.the9.com(rw,all_squash,anonuid=40,anongid=40)
相關的命令:
1、exportfs命令:
如果我們在啟動了NFS之后又修改了/etc/exports,是不是還要重新啟動nfs呢?這個時候我們就可以用exportfs命令來使改動立刻生效,該命
令格式如下:
exportfs
-a :全部mount或者unmount /etc/exports中的內(nèi)容
-r :重新mount /etc/exports中分享出來的目錄
-u :umount目錄
-v :在export的時候,將詳細的信息輸出到屏幕上。
具體例子:
# exportfs -au 卸載所有共享目錄
# exportfs -rv 重新共享所有目錄并輸出詳細信息
2、啟動NFS
# service portmap start
# service nfs start
檢查NFS的運行級別:
# chkconfig –list portmap
# chkconfig –list nfs
根據(jù)需要設置在相應的運行級別自動啟動NFS:
# chkconfig –level 235 portmap on
# chkconfig –level 235 nfs on
nfsstat:
查看NFS的運行狀態(tài),對于調(diào)整NFS的運行有很大幫助
rpcinfo:
查看rpc執(zhí)行信息,可以用于檢測rpc運行情況的工具
另外,還需要查看系統(tǒng)的iptables、/etc/hosts.allow、/etc/hosts.deny是否設置了正確的NFS訪問規(guī)則;
3、客戶端操作和配置
1、showmout命令對于NFS的操作和查錯有很大的幫助,所以我們先來看一下showmount的用法
showmout
-a :這個參數(shù)是一般在NFS SERVER上使用,是用來顯示已經(jīng)mount上本機nfs目錄的cline機器。
-e :顯示指定的NFS SERVER上export出來的目錄。
例如:
showmount -e 192.168.0.30
Export list for localhost:
/tmp*
/home/linux *.linux.org
/home/public (everyone)
/home/test 192.168.0.100
客戶端運行以下命令MOUNT NFS文件系統(tǒng)
#mount -t nfs 192.168.70.50:/opt /mnt/disk1
2、mount nfs目錄的方法:
mount -t nfs hostname(orIP):/directory /mount/point
具體例子:
Linux: mount -t nfs 192.168.0.1:/tmp /mnt/nfs
mount nfs的其它可選參數(shù):
HARD mount和SOFT MOUNT:
HARD: NFS CLIENT會不斷的嘗試與SERVER的連接(在后臺,不會給出任何提示信息,在LINUX下有的版本仍然會給出一些提示),直到MOUNT
上。
SOFT:會在前臺嘗試與SERVER的連接,是默認的連接方式。當收到錯誤信息后終止mount嘗試,并給出相關信息。
例如:mount -F nfs -o hard 192.168.0.10:/nfs /nfs
rsize和wsize:
文件傳輸尺寸設定:wsize 來進行設定。這兩個參數(shù)的設定對于NFS的執(zhí)行效能有較大的影響
bg:在執(zhí)行mount時如果無法順利mount上時,系統(tǒng)會將mount的操作轉(zhuǎn)移到后臺并繼續(xù)嘗試mount,直到mount成功為止。(通常在設
定/etc/fstab文件時都應該使用bg,以避免可能的mount不上而影響啟動速度)
fg:和bg正好相反,是默認的參數(shù)
nfsvers=n:設定要使用的NFS版本,默認是使用2,這個選項的設定還要取決于server端是否支持NFS VER 3
mountport:設定mount的端口
port:根據(jù)server端export出的端口設定,例如如果server使用5555端口輸出NFS,那客戶端就需要使用這個參數(shù)進行同樣的設定
timeo=n:設置超時時間,當數(shù)據(jù)傳輸遇到問題時,會根據(jù)這個參數(shù)嘗試進行重新傳輸。默認值是7/10妙(0.7秒)。如果網(wǎng)絡連接不是很穩(wěn)
定的話就要加大這個數(shù)值,并且推薦使用HARD MOUNT方式,同時更好也加上INTR參數(shù),這樣你就可以終止任何掛起的文件訪問。
intr 允許通知中斷一個NFS調(diào)用。當服務器沒有應答需要放棄的時候有用處。
udp:使用udp作為nfs的傳輸協(xié)議(NFS V2只支持UDP)
tcp:使用tcp作為nfs的傳輸協(xié)議
namlen=n:設定遠程服務器所允許的最長文件名。這個值的默認是255
acregmin=n:設定最小的在文件更新之前cache時間,默認是3
acregmax=n:設定更大的在文件更新之前cache時間,默認是60
acdirmin=n:設定最小的在目錄更新之前cache時間,默認是30
acdirmax=n:設定更大的在目錄更新之前cache時間,默認是60
actimeo=n:將acregmin、acregmax、acdirmin、acdirmax設定為同一個數(shù)值,默認是沒有啟用。
retry=n:設定當網(wǎng)絡傳輸出現(xiàn)故障的時候,嘗試重新連接多少時間后不再嘗試。默認的數(shù)值是10000 minutes
noac:關閉cache機制。
同時使用多個參數(shù)的方法:mount -t nfs -o timeo=3,udp,hard 192.168.0.30:/tmp /nfs
請注意,NFS客戶機和服務器的選項并不一定完全相同,而且有的時候會有沖突。比如說服務器以只讀的方式導出,客戶端卻以可寫的方式
mount,雖然可以成功mount上,但嘗試寫入的時候就會發(fā)生錯誤。一般服務器和客戶端配置沖突的時候,會以服務器的配置為準。
3、/etc/fstab的設定方法
/etc/fstab的格式如下:
fs_spec fs_file fs_type fs_options fs_dump fs_pass
fs_spec:該字段定義希望加載的文件系統(tǒng)所在的設備或遠程文件系統(tǒng),對于nfs這個參數(shù)一般設置為這樣:192.168.0.1:/NFS
fs_file:本地的掛載點
fs_type:對于NFS來說這個字段只要設置成nfs就可以了
fs_options:掛載的參數(shù),可以使用的參數(shù)可以參考上面的mount參數(shù)。
fs_dump - 該選項被”dump”命令使用來檢查一個文件系統(tǒng)應該以多快頻率進行轉(zhuǎn)儲,若不需要轉(zhuǎn)儲就設置該字段為0
fs_pass - 該字段被fsck命令用來決定在啟動時需要被掃描的文件系統(tǒng)的順序,根文件系統(tǒng)”/”對應該字段的值應該為1,其他文件系統(tǒng)應
該為2。若該文件系統(tǒng)無需在啟動時掃描則設置該字段為0 。
4、可能出現(xiàn)的問題
rpc超時問題
在服務器上的hosts文件加上了客戶機的ip地址解析。
5、NFS安全
NFS的不安全性主要體現(xiàn)于以下4個方面:
1、新手對NFS的訪問控制機制難于做到得心應手,控制目標的精確性難以實現(xiàn)
2、NFS沒有真正的用戶驗證機制,而只有對RPC/Mount請求的過程驗證機制
3、較早的NFS可以使未授權用戶獲得有效的文件句柄
4、在RPC遠程調(diào)用中,一個SUID的程序就具有超級用戶權限.
加強NFS安全的方法:
1、合理的設定/etc/exports享出去的目錄,更好能使用anonuid,anongid以使MOUNT到NFS SERVER的CLIENT僅僅有最小的權限,更好不要
使用root_squash。
2、使用IPTABLE防火墻限制能夠連接到NFS SERVER的機器范圍
iptables -A INPUT -i eth0 -p TCP -s 192.168.0.0/24 –dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -p UDP -s 192.168.0.0/24 –dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -p TCP -s 140.0.0.0/dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -p UDP -s 140.0.0.0/dport 111 -j ACCEPT
如果我們的NFS服務器在防火墻后邊,則需要在防火強策略中加入如下策略:
iptables -A INPUT -p tcp -m state –state NEW -m multiport –dport 111,2023,4001,32764:j ACCEPT
iptables -A INPUT -p udp -m state –state NEW -m multiport –dport 111,2023,4001,32764:j ACCEPT
3、為了防止可能的Dos攻擊,需要合理設定NFSD 的COPY數(shù)目。
4、使用 /etc/hosts.allow和/etc/hosts.deny 控制客戶端的訪問
/etc/hosts.allow
portmap: 192.168.0.0/255.255.255.0 : allow
portmap: 140.116.44. : allow
/etc/hosts.deny
portmap: ALL : deny
5、改變默認的NFS 端口
NFS默認使用的是111端口,但同時你也可以使用port參數(shù)來改變這個端口,這樣就可以在一定程度上增強安全性。
linux nfs默認權限的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關于linux nfs默認權限,Linux NFS默認權限詳解,NFS服務器一個目錄的寫入文件所有人變?yōu)閞oot會怎么樣?的信息別忘了在本站進行查找喔。
創(chuàng)新互聯(lián)【028-86922220】值得信賴的成都網(wǎng)站建設公司。多年持續(xù)為眾多企業(yè)提供成都網(wǎng)站建設,成都品牌建站設計,成都高端網(wǎng)站制作開發(fā),SEO優(yōu)化排名推廣服務,全網(wǎng)營銷讓企業(yè)網(wǎng)站產(chǎn)生價值。
網(wǎng)站題目:LinuxNFS默認權限詳解(linuxnfs默認權限)
當前URL:http://www.5511xx.com/article/ccsscoi.html


咨詢
建站咨詢
