Linux運維筆記-文檔總結-NFS文件共享(網絡文件系統)

轉自:http://m.blog.csdn.net/blog/index?username=Ningdaxing1994

覺得這個寫得不錯哈哈~


以下所有操作都是在Red-hat 7.0上


1.NFS的介紹

NFS(Network File System)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS服務器上的文件,就像訪問本地文件一樣。

以下是NFS最顯而易見的好處:

1. 節省本地存儲空間,將常用的數據存放在一臺NFS服務器上且可以通過網絡訪問,那麼本地終端將可以減少自身存儲空間的使用。

2. 用戶不需要在網絡中的每個機器上都建有Home目錄,Home目錄可以放在NFS服務器上且可以在網絡上被訪問使用。

3. 一些存儲設備如軟驅、CDROM和Zip(一種高儲存密度的磁盤驅動器與磁盤)等都可以在網絡上被別的機器使用。這可以減少整個網絡上可移動介質設備的數量。

這裏寫圖片描述

這裏寫圖片描述

2.nfs服務器配置

1.安裝服務以及配置防火牆策略

在配置之前先安裝nfs-utils

yum install nfs-utils -y

systemctl start nfs-server

systemctl enable nfs-server.service ##開啓nfs服務

如果開啓防火牆還要訪問nfs,要添加以下的服務:

systemctl start firewalld

firewall-cmd –permanent –add-service=nfs

firewall-cmd –permanent –add-service=rpc-bind

firewall-cmd –permanent –add-service=mountd

firewall-cmd –reload ##刷新

這裏寫圖片描述

2.建立一個共享目錄並編寫/etc/exports 對客戶端訪問進行設置

mkdir /public

chmod 777 /public/

touch /public/test{1..3}

vim /etc/exports

/public (sync) ##將/public共享給所有人並且數據同步 代表所有人,sync代表數據同步

exportfs -rv ##提示:對配置的文件進行刷新,一定不能重啓nfs服務,那樣會導致服務卡住,這是已知的bug

這裏寫圖片描述

3.訪問控制

vim /etc/exports

/public 172.25.0.0/24(sync) ##只允許172.25.0.0/24網段的ip訪問

/public *.example.com(sync) ##只允許同一個域名的主機訪問

/public 172.25.254.20(ro,sync) 172.25.254.21(rw,sync) ## 允許20主機只讀訪問 ,21主機讀寫訪問

/public *(rw,sync,no_root_squash) ##獲得root權限

這裏寫圖片描述

訪問控制 
這裏寫圖片描述 
這裏寫圖片描述 
這裏寫圖片描述 
這裏寫圖片描述 
這裏寫圖片描述 
這裏寫圖片描述 
這裏寫圖片描述

4.永久掛載NFS文件系統:

vim /etc/fstab

172.25.254.110:/public /mnt nfs defaults 0 0

rw:掛載可讀寫的文件系統

ro:掛載只讀文件系統

vers=4:嘗試只使用指定的NFS版本進行掛載。如果服務器不支持該版本,則掛載請求失敗

soft:如果NFS請求超時,三次嘗試後返回錯誤。權衡數據完整性與提高客戶端響應性。(默認行爲hard,將無限期地重試)

5.保護NFS輸出

兩臺主機都得更改主機名 一個server10 一個desktop10,這是因爲,我們需要下載對應的keytab。

在兩臺主機,都加入kerberos認證域,使用ldap用戶:

desktop和server都安裝yum install authconfig-gtk.x86_64 sssd krb5-workstation.x86_64 ##sssd是控制用戶人數,authconfig-gtk可視化配置ldap

在server上:

安裝kerberos服務所需的keytab:
wget http://172.25.254.254/pub/keytabs/server20.keytab -O /etc/krb5.keytab 採用ktutil命令檢測keytab
ktutilktutil:  rkt /etc/krb5.keytabktutil:  list

重啓服務:
systemctl start nfs-secure-server ##server和desktop開啓的服務不同systemctl enable nfs-secure-server.service 編寫/etc/exports,讓擁有證書的用戶纔可以訪問
vim /etc/exports
/public         *(rw,sec=krb5p)  ##使用kerberos驗證exportfs -rv1234567891011121314

在desktop上:

安裝kerberos服務所需的keytab:
wget http://172.25.254.254/pub/keytabs/desktop20.keytab -O /etc/krb5.keytab 採用ktutil命令檢測keytab
ktutilktutil:  rkt /etc/krb5.keytabktutil:  list
重啓服務:(與server主機重啓的服務不相同,少了個service)
systemctl start nfs-secure
systemctl enable nfs-secure
做本地解析
vim /etc/hosts172.25.254.210 server10.example.com123456789101112

這裏寫圖片描述 
這裏寫圖片描述 
這裏寫圖片描述
這裏寫圖片描述

測試:

[root@desktop10 ~]# su - studentLast login: Sat Jun  3 23:37:20 EDT 2017 on pts/1[student@desktop10 ~]$ cd /mnt
-bash: cd: /mnt: Permission denied ##student用戶沒有證書所以訪問被拒[student@desktop10 ~]$ su - ldapuser1    ##必須從普通用戶過去,獲得密碼權限。Password: Last login: Sat Jun  3 23:54:20 EDT 2017 on pts/0su: warning: cannot change directory to /home/guests/ldapuser1: No such file or directorymkdir: cannot create directory '/home/guests': Permission denied
-bash-4.2$ cd /mnt
-bash-4.2$ ls
file  file2  file3 123456789101112

這裏寫圖片描述


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章