Presentation is loading. Please wait.

Presentation is loading. Please wait.

網路伺服器應用 Linux Server Andres, Wen-Yuan Liao

Similar presentations


Presentation on theme: "網路伺服器應用 Linux Server Andres, Wen-Yuan Liao"— Presentation transcript:

1 網路伺服器應用 Linux Server Andres, Wen-Yuan Liao
Department of Computer Science and Engineering De Lin Institute of Technology

2 Chapter 15 簡易 NFS 伺服器設定

3 15.1 NFS 的由來與其功能 什麼是 NFS (Network File System) 由 Sun 公司所發展
透過網路,讓不同的機器、不同的作業系統、可以彼此分享檔案 其他的 Personal Computer 可以掛載 NFS server 所提供的檔案或目錄 NFS 使用一個稱為遠端程序呼叫(Remote Procedure Call, RPC)的協定來協助 NFS 本身的運作

4 RPC Remote Procedure Call 使用某些服務來進行遠端連線時,有些資訊需要管理與對應, 例如 主機的 IP
服務的 port number 對應到的服務之 PID

5 NFS 啟動的 RPC daemons NFS server 總共需要啟用至少兩個 daemons rpc.nfsd rpc.mountd
管理 Client 是否能夠登入主機的權限 rpc.mountd 管理 NFS 的檔案系統

6 15.2 需要的套件 portmap nfs-utils rpm -qa | grep nfs rpm -qa | grep portmap
port 對應 ( mapping ) 的工作 在啟動任何一個 RPC server 之前,需啟動 portmap daemon nfs-utils rpc.nfsd 及 rpc.mountd daemons 其他相關 documents 與說明文件、執行檔等 rpm -qa | grep nfs rpm -qa | grep portmap

7 15.3 Server 端的設定 Server端 Client 端 確認Linux 主機是否可以支援 NFS 服務
設定使用者來源IP或主機名稱以及分享的目錄權限 啟動NFS Client 端 showmount程式檢查Linux Server是否有可以使用的 NFS 目錄 如果有就mount 在本機上面

8 設定流程 /etc/exports 關於權限問題 啟動服務 portmap, nfsd /usr/sbin/exportfs
/var/lib/nfs/xtab:檢驗目錄 /usr/sbin/showmount 觀察啟動的 port number

9 1. /etc/exports 欲分享的目錄 主機名稱1或IP1(參數1,參數2) 主機名稱2或IP2(參數3,參數4) 參數 rw ro
可讀寫 ro 唯讀 no_root_squash 登入 NFS 主機使用分享目錄的使用者如果是 root,對於這個分享的目錄來說他就具有 root 的權限 root_squash 在登入 NFS 主機使用分享目錄的使用者如果是 root 時,這個使用者的權限將被壓縮成為匿名使用者,通常他的 UID 與 GID 都會變成 nobody 身份

10 /etc/exports (Cont.) 參數 all_squash anonuid anongid
不論登入 NFS 的使用者身份為何,他的身份都會被壓縮成為匿名使用者,通常也就是 nobody anonuid 關於 *_squash 提到的匿名使用者的 UID 設定值,通常為 nobody,但是可以自行設定UID值,這個 UID 必需要存在於/etc/passwd當中 anongid 同 anonuid ,但是變成 group ID

11 Examples /tmp *(rw,no_root_squash) /home/public 192.168.0.*(rw) *(ro)
/home/test   (rw) /home/linux *.linux.org(rw,all_squash,anonuid=40,anongid=40)

12 2. 關於權限問題

13 3. 啟動服務 portmap, nfsd /etc/rc.d/init.d/portmap start
port 111 的 sunrpc 服務 /etc/rc.d/init.d/nfs start /var/log/messages Nov 16 15:04:45 test portmap: portmap startup succeeded Nov 16 15:04:53 test nfs: Starting NFS services:  succeeded Nov 16 15:04:54 test nfs: rpc.rquotad startup succeeded Nov 16 15:04:54 test nfs: rpc.mountd startup succeeded Nov 16 15:04:54 test nfs: rpc.nfsd startup succeeded

14 4. /usr/sbin/exportfs 修改/etc/exports檔案後不需要重新啟動 nfs exportfs [-aruv]
同步更新 /etc/exports及 /var/lib/nfs/xtab 的內容 u 卸載某一目錄 v 在 export 的時候,將分享的目錄顯示到螢幕上!

15 Example exportfs -rv  exporting :/home/test exporting *:/home/public exporting *.linux.org:/home/linux exporting *:/home/public exporting *:/tmp reexporting :/home/test to kernel exportfs -au

16 5. /var/lib/nfs/xtab:檢驗目錄
檢驗分享的目錄內容 vi /var/lib/nfs/xtab /home/test  (rw,sync,wdelay,hide,secure,root_squash,no_all_squash,subtree_check,secure_locks,mapping=identity,anonuid=-2, anongid=-2)

17 6. /usr/sbin/showmount 看看有沒有可以 mount 的 showmount [-ae] hostnamea a e
在螢幕上顯示目前主機與 Client 所連上來的使用目錄狀態 e 顯示 hostname 這部機器的 /etc/exports 裡面的分享目錄

18 Example showmount -e localhost Export list for localhost: /tmp         * /home/linux  *.linux.org /home/public (everyone) /home/test  

19 7. 觀察啟動的 port number netstat -utln

20 15.4 Client 端的設定 掛載遠端主機 掃瞄可以使用的 Server 目錄 在 Client 端建立 mount point
showmount –e 在 Client 端建立 mount point mkdir –p /home/nfs/public 將遠端主機分享的目錄掛載進來 mount –t nfs :/home/public /home/nfs/public 可能發生的問題解決(被防火牆擋掉)

21 15.5 關機或結束時的注意事項 如果Server上面還有 Client 在連線,那麼要關機,可能得要等到數個鐘頭才能夠正常的關機成功
NFS Server關機之前,先關掉 portmap 與 nfs 先以 netstat -utlp 找出 PID ,然後以 kill 關掉

22 15.7 實際演練 Linux 主機為 將 /tmp 以可讀寫,並且不限制使用者身份的方式分享給所有 /24 這個網域中的所有 Linux 工作站 開放 /home/nfs 這個目錄,使用的屬性為唯讀,可提供除了網域內的工作站外,向外亦提供資料內容 開放 /home/upload 做為 /24 網域的資料上傳目錄,其中,/home/upload 的使用者及所屬群組為 nfs-upload 這個名字,他的 UID 與 GID 均為 210 將/home/andy 目錄僅分享給 主機,以提供該主機上面 andy 這個使用者來使用,也就是說, andy 在 及 均有帳號,且帳號均為 andy ,所以預計開放 /home/andy 給 andy 使用他的家目錄

23 1. 建立 /etc/exports vi /etc/exports /tmp      *(rw,no_root_squash) /home/nfs   *(ro)  *(ro,all_squash) /home/upload  *(rw,all_squash,anonuid=210,anongid=210) /home/andy   (rw)

24 2. 建立每個對應的目錄的實際 Linux 權限 1. /tmp ls -l  drwxrwxrwt    6 root     root         4096 Nov 16 09:07 tmp 2. /home/nfs mkdir -p /home/nfs            chmod 755 -R /home/nfs     

25 建立每個對應的目錄的實際 Linux 權限 3. /home/upload groupadd -g 210 nfs-upload  useradd -g 210 -u 210 -M nfs-upload mkdir -p /home/upload       chown -R nfs-upload:nfs-upload /home/upload 4. /home/andy ls -l /home drwx------    3 andy     andy         4096 Oct 28 13:37 andy

26 3.啟動 portmap 與 nfs 服務 /etc/rc.d/init.d/portmap start
etc/rc.d/init.d/nfs start

27 在 client機器上面演練 1. 確認可用目錄 showmount -e Export list for : /tmp         * /home/nfs    (everyone) /home/upload * /home/andy   2. 建立掛載點: mkdir -p /home/zzz/tmp mkdir -p /home/zzz/nfs mkdir -p /home/zzz/upload mkdir -p /home/zzz/andy

28 在 client機器上面演練 3. 實際掛載: su   mount -t nfs :/tmp /home/zzz/tmp mount -t nfs :/home/nfs /home/zzz/nfs mount -t nfs :/home/upload /home/zzz/upload mount -t nfs :/home/andy /home/zzz/andy exit


Download ppt "網路伺服器應用 Linux Server Andres, Wen-Yuan Liao"

Similar presentations


Ads by Google