<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                Network File System是一個文件系統,而 RPC(Remote Procedure Call)是負責負責信息的傳輸。 ## 服務說明 nfs v3 * nfsd 它是基本的NFS守護進程,主要功能是管理客戶端是否能夠登錄服務器; * mountd 它是RPC守護進程,主要功能是管理NFS的文件系統。當客戶端順利通過nfsd登錄NFS服務器后,在使用NFS服務所提供的文件前,還必須通過文件使用權限的驗證。它會讀取NFS的配置文件/etc/exports來對比客戶端權限。 * portmap 主要功能是進行端口映射工作。當客戶端嘗試連接并使用RPC服務器提供的服務(如NFS服務)時,portmap會將所管理的與服務對應的端口提供給客戶端,從而使客戶可以通過該端口向服務器請求服務。 Client 先和 RPC Server 鏈接,再和程序通信,程序在本地操作,調用內核。 NFS:由sun開發,版本NFSv1,NFSv2,NFSv3(rhel 5),NFSv4(rhel 6) CentOS 7.4 以后,支持 NFS v4.2 不需要 rpcbind 了,但是如果客戶端只支持 NFC v3 則需要 rpcbind 這個服務。 ### 局限性 * 只能控制來源ip,只驗證UID,不驗證用戶名,安全性較低; * NFS只能工作于linux和unix ## 服務器端 ```bash # centos 5 yum?-y?install?nfs-utils?portmap # centos 6/7 (在CentOS 6.3當中,portmap服務由rpcbind負責) yum?-y?install?nfs-utils ``` ## NFS的常用目錄 ``` /etc/exports ? ? ? ? ? ?NFS服務的主要配置文件 /usr/sbin/exportfs ? ? ?NFS服務的管理命令 /usr/sbin/showmount ? ? 客戶端的查看命令 /var/lib/nfs/etab ? ? ? 記錄NFS分享出來的目錄的完整權限設定值 /var/lib/nfs/xtab ? ? ? 記錄曾經登錄過的客戶端信息 ``` ## @ centos 5 nfs啟動3個進程 ``` nfsd(nfs服務), mountd(掛載), quotad(配額) nfsd: 2049/tcp, 2049/udp mountd: 端口 quotad: 端口 端口半隨機的,可通過配置固定端口 portmap監聽端口:111/tcp,udp/111 nfs要啟動先要確保portmap服務先啟動 # service portmap start ``` ### @ centos 7 ``` # service nfs start ``` ### 配置文件 /etc/exports 多個客戶之間使用空白字符分隔 每個客戶端后面必須跟一個小括號,里面定義了此客戶訪問特性,如訪問權限等 ``` dir 172.16.0.0/16(ro,async) 192.16.0.0/24(rw,sync) ``` nfsv4默認映射到nfsnobody用戶,也可以修改 ``` dir 172.16.0.0/16(ro,asyncfsid=root) 192.16.0.0/24(rw,sync,all_squash,anonuid= ,anongid=) ``` ### 文件系統掛載/導出屬性 ``` ro: 只讀。 rw: 讀寫 sync: 同步模式,內存中數據時時寫入磁盤。 async: 不同步,把內存中數據定期寫入磁盤中。 root_squash: 將root用戶映射為來賓賬號,限制權限,更加安全; no_root_squash: 加上這個選項后, root 用戶就會對共享的目錄擁有至高的權限控制,就像是對本機的目錄操作一樣。不安全,不建議使用 all_squash: 所有轉換為來賓帳號 anonuid, anongid: 指定映射的來賓賬號的UID和GID; ``` ## 查看 showmount ``` showmount -e|--exports NFS_SERVER: 查看NFS服務器“導出”的各文件系統 showmount -a|--all NFS_SERVER: 查看NFS服務器所被掛載的文件系統及其掛載的客戶端對應關系列表 showmount -d|--directories NFS_SERVER: 顯示NFS服務器所有導出的文件系統中被客戶端掛載了文件系統列表 ``` ## 管理 exportfs 如果修改/etc/exports文件之后無需重啟nfs,只需重新掃瞄一次文件/etc/exports,并且重新將設定加載即可; ``` -a:跟-r或-u選項同時使用,表示重新掛載所有文件系統或取消導出所有文件系統; -r: 重新導出 -u: 取消導出 -v: 顯示詳細信息 ``` * 重新掛載/etc/exports的設置:exportfs –avr * 全部卸載/etc/exports的設置:exportfs –avu ## 客戶端 ``` yum install -y nfs-utils 客戶端使用mount命令掛載 mount -t nfs NFS_SERVER:/PATH/TO/SOME_EXPORT? /PATH/TO/SOMEWHRERE 若掛載后速度較慢,可使用下面的選項 mount -t nfs -o nolock,nfsvers=3 192.168.24.111:/tmp/ /opt/ 默認nfsvers=4 ``` 讓mountd和quotad等進程監聽在固定端口,編輯配置文件/etc/sysconfig/nfs ## 客戶端掛載參數 ~~~bash ro 以只讀模式加載。 rw 以可讀寫模式加載。 sync 以同步方式執行文件系統的輸入輸出動作。 async 以非同步的方式執行文件系統的輸入輸出動作。 defaults 使用默認的選項。默認選項為rw、suid、dev、exec、anto nouser與async。 atime 每次存取都更新inode的存取時間,默認設置,取消選項為noatime。 noatime 每次存取時不更新inode的存取時間。 dev 可讀文件系統上的字符或塊設備,取消選項為nodev。 nodev 不讀文件系統上的字符或塊設備。 exec 可執行二進制文件,取消選項為noexec。 noexec 無法執行二進制文件。 auto 必須在/etc/fstab文件中指定此選項。執行-a參數時,會加載設置為auto的設備,取消選取為noauto。 noauto 無法使用-a參數來加載。 suid 啟動set-user-identifier(設置用戶ID)與set-group-identifer(設置組ID)設置位,取消選項為nosuid。 nosuid 關閉set-user-identifier(設置用戶ID)與set-group-identifer(設置組ID)設置位。 user 普通用戶可以執行加載操作。 nouser 普通用戶無法執行加載操作,默認設置。 remount 重新加載設備。通常用于改變設備的設置狀態。 rsize 讀取數據緩沖大小,默認設置1048576(rhel6.6)。 wsize 寫入數據緩沖大小,默認設置1048576(rhel6.6)。 fg 以前臺形式執行掛載操作,默認設置。在掛載失敗時會影響正常操作響應。 bg 以后臺形式執行掛載操作。 hard 硬式掛載,默認設置。如果與服務器通訊失敗,讓試圖訪問它的操作被阻塞,直到服務器恢復為止。 soft 軟式掛載。如果服務器通訊失敗,讓試圖訪問它的操作失敗,返回一條出錯消息。這項功能對于避免進程“掛”在無關緊要的安裝操作上來說非常有用。 retrans=n 指定在以軟方式安裝的文件系統上,在返回一條出錯消息之前重復發出請求的次數。 nointr 不允許用戶中斷,默認設置。 intr 允許用戶中斷被阻塞的操作(并且讓它們返回一條出錯消息)。 timeo=n 設置請求的超時時間(以十分之一秒為單位)。 ~~~ ## 固定端口 修改配置文件/etc/sysconfig/nfs 啟用這幾項,即可 ``` LOCKD_TCPPORT=32803 LOCKD_UDPPORT=32769 RQUOTAD_PORT=875 MOUNTD_PORT=892 ``` ## 防火墻規則添加 ``` proto port service tcp 111 portmapper udp 111 portmapper udp 892 mountd tcp 892 mountd udp 6478 status tcp 6478 status udp 875 rquotad tcp 875 rquotad tcp 2049 nfs udp 2049 nfs udp 32769 nlockmgr tcp 32769 nlockmgr ``` ## 客戶端開機自動掛載NFS 編輯/etc/fstab,增加 ?192.168.8.40:/var/shared??? /var/nfs??? nfs??? default,_rnetdev 0 0 _rnetdev,如果開機掛載不上此文件系統,則忽略,否則會開不了機 關于權限的分析 1. 客戶端連接時候,對普通用戶的檢查 * a. 如果明確設定了普通用戶被壓縮的身份,那么此時客戶端用戶的身份轉換為指定用戶; * b. 如果NFS server上面有同名用戶,那么此時客戶端登錄賬戶的身份轉換為NFS server上面的同名用戶; * c. 如果沒有明確指定,也沒有同名用戶,那么此時 用戶身份被壓縮成nfsnobody; 2. 客戶端連接的時候,對root的檢查 * a. 如果設置no_root_squash,那么此時root用戶的身份被壓縮為NFS server上面的root; * b. 如果設置了all_squash、anonuid、anongid,此時root 身份被壓縮為指定用戶; * c. 如果沒有明確指定,此時root用戶被壓縮為nfsnobody; * d. 如果同時指定no_root_squash與all_squash 用戶將被壓縮為 nfsnobody,如果設置了anonuid、anongid將被壓縮到所指定的用戶與組;
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看