SMB是Server Messege Block的縮寫,其實就是實現(xiàn)Windows文件和打印共享的基礎協(xié)議,后來在*nix下通過samba實現(xiàn)了smb協(xié)議,所以可以達成不同系統(tǒng)之間的文件和打印共享互通。 而NFS是在內(nèi)核級別實現(xiàn)的Network File System。通過NFS協(xié)議import的分區(qū),可以當成本機的磁盤來使用。所有讀寫都是內(nèi)核負責,所以效率上比SMB要好,但是僅僅能實現(xiàn)文件讀寫,沒有打印服務。
Win有S4U,也可以支持NFS的 準確的說,NFS不是和Samba比,而是CIFS
裝了samba的unix主機可以讓unix主機和win主機訪問,相同于網(wǎng)上鄰居, 裝了nfs的unix主機只能讓unix主機訪問,win主機不能用nfs訪問
samba 是基于Netbios的,而netbios默認是通過廣播來進行名字解析的,不支持多子網(wǎng),要跨子網(wǎng)訪問必須啟用NBT(Netbios on TCP/IP),而且要至少一個名字服務器(NBNS:Netbios Name Servers)。 而NFS是直接基于TCP/IP的,能很好的支持多子網(wǎng)間的路由。 具體關于samba的內(nèi)容可以到MS的網(wǎng)站去搜索"CIFS"(Samba是用的這種協(xié)議). NFS與Netbios的具體內(nèi)容可以到RFC中去查。
NFS服務器 NFS是SUN Microsystem公司開發(fā)的網(wǎng)絡文件系統(tǒng),它是一種基于遠程過程調(diào)用(RPC)的分布式文件系統(tǒng)架構(gòu)。與Samba相比較,NFS的數(shù)據(jù)吞吐能力更強。 1、 用命令 # rpm –qa | grep nfs檢查軟件包NFS是否安裝 ,如果輸出沒有輸出,表明沒有被安裝,請自行安裝之。 2、 配置NFS服務器。用任何文本編輯器配置文件/etc/exports,來確定需要給客戶共享的目錄。它的基本格式為 Directory Host(options) # comments ,這3個字段/列要在一行,directory與host(options)之間要有間隙,# comments 可有可無。主機選項主要是給與掛接用戶什么樣的權(quán)限。目錄directory表示要共享出去的目錄,值得注意的是,在啟用NFS服務以前,系統(tǒng)管理員應該仔細一些,比如不小心共享了根目錄/,并且給與用戶讀寫權(quán)限,這是十分糟糕的問題。因此,盡可能少的共享目錄和賦予較小的訪問權(quán)限。主機名host是一個很靈活的項目,可以是單個的主機名稱(由/etc/hosts得到),主機ip地址,由域名服務器解析的主機名稱,IP網(wǎng)絡---網(wǎng)絡號和子網(wǎng)掩碼中間用 “/”連接,NIC等。下面列舉一個例子。 /home/sery sery(r,w) #把目錄/home/sery共享給主機sery,并且主機對目錄#/home/sery有讀寫權(quán)限 /tmp 192.168.100.18(ro) #主機192.168.100.18對目錄/tmp具備只讀共#享權(quán)限 /media/cdrom 192.168.100.0/255.255.255.0(r,o) #整個網(wǎng)絡有讀取掛接在NFS #服務器上的光驅(qū)光盤的讀取權(quán)限 3、 啟用NFS服務。分兩步:首先啟用portmap,然后啟用NFS服務。# service portmap start; # service nfs start。其中portmap的功能是啟用遠程過程調(diào)用,有時啟用NFS不能成功,不妨檢查一下portmap服務是否啟動(# ps aux | grep portmap)。 4、 在客戶端掛接NFS共享出來的目錄。先在客戶端創(chuàng)建一個掛接點,如 # mkdir /mnt/nfs ,而后使用命令把nfs服務器共享出來的目錄掛接上,以第2步那個共享為例,我們掛接目錄 /tmp , # mount –t nfs 192.168.100.100:/tmp /mnt/nfs //假定nfs服務器的ip地址是192.168.100.100。 5、 訪問NFS共享資源。接上步,改變文件目錄 # cd /mnt/nfs就方便地實現(xiàn)了對nfs服務器目錄/tmp的遠程訪問。 6、 卸載NFS文件系統(tǒng)。在客戶端執(zhí)行命令 # umount /mnt/nfs 就卸下了第4步掛接的NFS文件系統(tǒng)。 7、 其他事項。前面我們描述了在客戶段用手工掛接NFS文件系統(tǒng)的操作,有的場合可能需要自動實現(xiàn)對NFS的掛接操作;修改文件/etc/fstab,把掛接項插入進去就可以了。對一個有較多連接的NFS服務器而言,有這樣一個問題---用戶在使用完掛接的文件系統(tǒng)后,并不會總記得卸載掉NFS掛接,這必然會增大NFS服務器的維護工作量以及白白占用有限的系統(tǒng)和網(wǎng)絡資源;解決這個問題的辦法是使用自動掛接器(automounter)。關于自動掛接器屬于性能調(diào)優(yōu)的范疇,在此不做描述。
Samba服務器 這個世界既非只有l(wèi)inux/unix,也不是由microsoft windows 獨霸天下的格局。也許出于linux/unix與windows既競爭又共存的事實,人們開發(fā)了 linux給windows用戶提供文件共享的工具Samba,這應該算得上linux的開放精神吧! 1、 檢查是否安裝samba軟件包。# rpm –qa | grep smb ,如果沒有則自行安裝samba。 2、 修改配置文件/etc/samba/smb.conf。早期的linux版本的配置文件smb.conf的安全選項“security=share”,這個默認值是個安全隱患,不過現(xiàn)在流行的linux版本的安全選項的默認值是“security=user”。如果只想用戶對他的目錄擁有只讀權(quán)限,就把選項“writeable=yes”改成“read only=yes”。其他的選項根據(jù)自己的要求更改即可。對于一般的應用而言,基本上不用修改這個文件。 3、 添加系統(tǒng)賬戶。由于smb的訪問是使用系統(tǒng)賬號進行的,因此添加賬號是必不可少的。這個比較簡單,用命令 # useradd sery , # passwd sery,就可以依次添加若干系統(tǒng)賬號。 4、 建立Samba用戶密碼文件。雖然samba的用戶是系統(tǒng)用戶,但出于安全考慮,samba用戶的密碼并非創(chuàng)建系統(tǒng)用戶時設定的用戶密碼。為了生成smb所需的密碼,應該進行下面的操作: # cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd # smbpasswd sery //為系統(tǒng)用戶設置smb口令 # chown root.root /etc/samba/smbpasswd # chmod 600 /etc/samba/smbpasswd //不準別的用戶訪問 5、 啟用Samba服務器。我比較喜歡用 # service smb start 這種方式。 6、 檢查服務是否正常啟動。# service smb status 或者 # ps aux | grep smb。 7、 windows客戶端訪問 Samba服務器共享目錄。在windows環(huán)境下,右鍵點擊“網(wǎng)上鄰居”圖標,然后左擊“搜索計算機”,把Samba服務器的IP地址填寫在“計算機名”搜索欄,點擊立即搜索。找到后雙擊圖標,然后輸入在Samba服務器上預先設定的用戶名和密碼,就能合法訪問Samba服務器設定的共享資源。為了方便使用,可以把Samba服務器提供的共享目錄映射成本地驅(qū)動器。 8、 其他。上述配置的samba服務器,用戶的訪問共享目錄是系統(tǒng)賬號的主目錄。要想把共享目錄設置到其他位置,修改Samba 的配置文件/etc/samba/smb.conf文件即可。
|