搜尋此網誌

RHCE - 檔案分享




SHARE
在早期的網路世界中,分享檔案的方法大都是經由FTP進行傳輸的工作。
但是對於檔案的分享而言,FTP卻存在著一些不便的地方。
當使用者需要變更遠端的一份文件,必須先用FTP下載,變更之後再上傳。
這樣的傳輸就比較像單方面的傳輸,而不是雙向的分享。

所以,有鑑於此Unix就推出NFS(Network File System)。
而Windows系統也推出了CIFS(Common Internet File System)。
兩種檔案系統可以將遠端的檔案系統掛載到用戶端的主機,使用者就像在本地主機存取檔案一樣。
不必在經過反覆的上傳與下載,這樣的動作就是我們現在常說的分享。
然而NFS只能用於Unix主機,CIFS只能用於Windows主機。
所以後來就發展出SAMBA,使得Unix系統與Windows系統之間可以相互分享檔案。
2012-02-27_201546

NFS
NFS Server需安裝套件nfs-file-server,安裝後可於/etc/exports設定分享的檔案系統。
例如,寫入/var/ftp/pub 192.168.0.0/24 (ro, sync)。
表示分享/var/ftp/pub給192.168.0.0/24網段,(ro, sync)為參數。
或者/exports/home *.example.com (rw, sync)。
表示分享/exports/home給example.com網域,參數為(rw, sync)。
設定完成之後,輸入 #exports -r 以使系統載入新設定。
#exprots -v 可以列出目前所有的分享狀況,便於管理者檢查設定是否無誤。

掛載NFS常見的參數有以下:
rw, ro:目錄分享的權限是可讀寫(rw)或唯讀(ro),然而仍然需要遵守檔案系統的權限與身分。
sync, async:sync代表資料會同時寫入記憶體與硬碟,async代表資料會先暫存於記憶體。
root_squash:root_squash會將用戶端root的身份會壓縮成nfsnobody(預設)。
no_root_squash:開放用戶端以root身分進行操作。
all_squash:用戶端身分一率壓縮成nfsnobody。
anonuid, anongid:用戶端使用nfsnobody登入時的UID與GID。

用戶端可以輸入 #showmount -e [NFS Server] 顯示目前伺服器端開放的檔案系統。
然後輸入 #mount -t nfs [Server]:/[Share File System] [Mount Point] 手動掛載。
NFS也可以設定開機自動掛載,於/etc/fstab中加入:
[NFS Server]:/[Share File System] [Mount Point] nfs defaults 0 0

CIFS
Unix系統若需要掛載CIFS,需安裝Samba套件。
Samba套件使用的port為137、138、139、以及加密port 145。
Samba主要設定檔於/etc/samba/smb.conf,分為[Gobal]、[Home]、[Printers]、以及自訂。
[Gobal]為伺服器設定,其內容為以下:
Workgroup:工作群組名稱。
NetBIOS:顯示於網路上的主機名稱。
Interfaces:使用的網卡以及IP位置。
Hosts Allow:允許連結的網段。
Security:安全等級,分為Share、User、Server、Domain、以及Ads。

2012-04-28_194325
[Home]為使用者家目錄,需要User以上等級才可開放。

2012-04-28_194339
[Printers]為印表機設定。

2012-04-28_194007
自訂分享目錄可於括號內設定分享名稱,用戶端需以此名稱連結,而其他設定分別為以下:
Comment :此分享目錄的說明。
Path:分享目錄的路徑。
Public:是否公開。
Writable:是否可寫入。
Browseable:是否可瀏覽。

Samba的使用者需為已存在於系統的使用者,在將其建立為Samba的使用者。
使用 #smbpasswd -a [username] 即可新增Samba使用者。
要開放Samba需開啟SELinux權限,使用 #getsebool -a | grep samba 查詢。
會發現相關權限為enable_home_dir與export_all_rw。
輸入 #setsebool -P enable_home_dir on#setsebool -P export_all_rw on 。
設定完成後可用 #smbclient -L //[Server]/[Share Name] -N 測試可否登入。
或利用 #testparm 指令測試是否可由指定IP連入。
#testparm /etc/samba/smb.conf [Hosts Name] [Hosts IP]

用戶端可使用以下指令進行手動掛載:
#mount -t cifs -o user=[username] //[Server]/[Share Name] [Mount Point]
或者編輯/etc/fstab自動掛載,需於/etc/fstab加入:
//[Samba Server]/[Shaer Name] [Mount Point] cifs credentials=[File Name] 0 0
credentials為指定存放登入帳號密碼的檔案的位址,此檔案內容為:
User=[User Name]
Pass=[Password]

AUTOFS
Autofs可讓使用者自動掛載網路上所分享的檔案系統的一種服務。
其相關設定於/etc/sysconfig/autofs,其中需比較注意的為Timeout的時間設定。
使用Autofs須先設定掛載點的參考檔,一般會編輯一個/etc/auto.[自訂檔名]的檔案。
其內容為[本機掛載點子目錄] [權限] [分享的檔案系統來源]:[分享的檔案系統目錄]。
之後在於/etc/auto.master中將參考檔寫入:[本機掛載點] [參考檔位置]。
這樣掛載的檔案系統就會位於[掛載點]/[掛載點子目錄]之中。
設定完成之後需將Autofs服務關閉再開啟,不可使用restart
 

Copyright © Jackie.Chen | Powered by Blogger | Template by 54BLOGGER | Fixed by Free Blogger Templates