文件共享:NFS
阿新 • • 發佈:2018-01-13
ice showmount 絕對路徑 用戶 步驟 code .com dap 掛載
NFS共享概述:
Network File System:網絡文件系統
--用途:為客戶機提供共享使用的文件夾
--協議:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)
所需軟件包:nfs-utils
系統服務:nfs-server
配置NFS共享目錄的記錄格式:
文件夾絕對路徑 客戶機地址(ro或rw等控制參數)
普通NFS共享的實現:
要求:
在虛擬機server0上配置NFS服務,完成以下任務:
1,只讀方式共享目錄/public,只能被example.com域內系統訪問
2,可讀寫共享目錄/protected,能被 example.com 域中的系統訪問
在虛擬機 desktop0 上訪問NFS共享目錄
1,將 server0 的 /public 掛到本地 /mnt/nfsmount
2,這些文件系統在系統啟動時自動掛載
方案:
對於普通NFS共享來說:
服務端需要運行系統服務 nfs-server.service
客戶端不需要運行特定的系統服務
步驟:
在server0上發布NFS共享目錄
1,準備需要共享的文件夾
[root@server0 ~]# mkdir /public
[root@server0 ~]# mkdir /protected
2,建立NFS共享配置
[root@server0 ~]# vim /etc/exports
/public 172.25.0.0/24(ro)
/protected 172.25.0.0/24(rw)
3,啟動系統服務nfs-server,並設置開機自啟
[root@server0 ~]# systemctl restart nfs-server
[root@server0 ~]# systemctl enable nfs-server
在desktop0上掛載NFS共享目錄/public
1,創建掛載點
[root@desktop0 ~]# mkdir /mnt/nfsmount
2,列出server0上提供的NFS共享資源
[root@desktop0 ~]# showmount -e server0.example.com
Export list for server0.example.com:
/protected 172.25.0.0/24
/public 172.25.0.0/24
3,配置開機掛載server0的NFS共享目錄/public
[root@desktop0 ~]# vim /etc/fstab
server0.example.com:/public /mnt/nfsmount nfs _netdev 0 0
4,測試掛載配置
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -hT /mnt/nfsmount/
Filesystem Type Size Used Avail Use% Mounted on
server0.example.com:/public nfs4 10G 3.2G 6.8G 32%
/mnt/nfsmount
安全NFS共享的實現
要求:
在虛擬機 server0 上配置安全NFS服務,完成以下任務:
1,訪問 /protected 需 kerberos 加密,密鑰地址:
http://classroom/pub/keytabs/server0.keytab
2,目錄 /protected 下包含名為 project 的子目錄
在虛擬機 desktop0 上訪問NFS共享目錄
1,掛載 /mnt/nfssecure 需 kerberos加密,密鑰地址:
http://classroom/pub/keytabs/desktop0.keytab
2,用戶 ldapuser0 能夠在 /mnt/nfssecure/project
目錄下創建文件,其密碼為 kerberos
方案:
對於安全NFS共享來說:
1,服務端需要運行系統服務
nfs-server.service、nfs-secure-server.service
2,客戶端需要運行系統服務 nfs-secure.service
知識點:
1,kerberos認證/加密:一次認證(獲取通行證),多次免密碼登錄。
2,客戶機密鑰部署位置:/etc/krb5.keytab
3,參與kerberos認證/加密的客戶機需要加入同一個kerberos領域,
在此我們通過執行lab nfskrb5 setup操作來實現
步驟:
將server0、desktop0加入kerberos認證領域
1,初始化server0
[root@server0 ~]# lab nfskrb5 setup
2,初始化desktop0
[root@desktop0 ~]# lab nfskrb5 setup
3,驗證初始化結果
可以使用網絡賬號ldapuser0登入到server0或desktop0,其密碼是kerberos
[root@server0 ~]# ssh [email protected]
[ldapuser0@desktop0 ~]$ //成功登入
[ldapuser0@desktop0 ~]$ exit //返回原環境
為server0、desktop0部署kerberos密鑰
1,為server0下載及部署密鑰
[root@server0 ~]# wget
http://classroom/pub/keytabs/server0.keytab -O /etc/krb5.keytab
[root@server0 ~]# file /etc/krb5.keytab //檢查部署結果
2,為desktop0下載及部署密鑰
[root@desktop0 ~]# wget
http://classroom/pub/keytabs/desktop0.keytab -O /etc/krb5.keytab
[root@desktop0 ~]# file /etc/krb5.keytab //檢查部署結果
在server0上調整/protected共享配置
1,創建指定的子目錄
[root@server0 ~]# mkdir /protected/project
[root@server0 ~]# chown ldapuser0 /protected/project //賦予可寫權限
2,調整共享目錄的安全控制類型
[root@server0 ~]# vim /etc/exports
/public 172.25.0.0/24(ro)
/protected 172.25.0.0/24(rw,sec=krb5p) //指定安全類型
3,重啟系統服務nfs-server、nfs-secure-server,設置開機自啟
[root@server0 ~]# systemctl restart nfs-server nfs-secure-server
[root@server0 ~]# systemctl enable nfs-server nfs-secure-server
在desktop0上掛載安全NFS共享/protected
1,創建掛載點
[root@desktop0 ~]# mkdir /mnt/nfssecure
2,啟動系統服務nfs-secure,並配置開機自啟
[root@desktop0 ~]# systemctl restart nfs-secure
[root@desktop0 ~]# systemctl enable nfs-secure
3,配置開機掛載安全NFS共享
[root@desktop0 ~]# vim /etc/fstab
server0.example.com:/public /mnt/nfsmount nfs _netdev 0 0
server0.example.com:/protected /mnt/nfssecure nfs sec=krb5p,_netdev 0 0
4,驗證掛載配置
[root@desktop0 ~]# mount -a
5,測試對掛載點的寫入權限
以用戶ldapuser0通過SSH的方式登入desktop0,
驗證密碼(kerberos)以獲取通行證:
[root@desktop0 ~]# ssh [email protected]
訪問desktop0的掛載點/mnt/nfssecure/的子目錄project,測試可寫入
[ldapuser0@desktop0 ~]$ touch /mnt/nfssecure/project/a.txt
[ldapuser0@desktop0 ~]$ ls /mnt/nfssecure/project/
文件共享:NFS