文件共享:NFS

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://cla***oom/pub/keytabs/server0.keytab
      2,目錄 /protected 下包含名爲 project 的子目錄
      在虛擬機 desktop0 上訪問NFS共享目錄
      1,掛載 /mnt/nfssecure 需 kerberos加密,密鑰地址:
                 http://cla***oom/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://cla***oom/pub/keytabs/server0.keytab  -O /etc/krb5.keytab
     [root@server0 ~]# file  /etc/krb5.keytab      //檢查部署結果
2,爲desktop0下載及部署密鑰
     [root@desktop0 ~]# wget 
     http://cla***oom/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/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章