歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> linux 文件服務器的實現

linux 文件服務器的實現

日期:2017/2/28 17:58:01   编辑:Linux教程
一、Samba簡介
  給Windows客戶提供文件服務是通過samba實現的,凡架設過MS Windows網絡的人都知道MS Windows網絡的核心是SMB/CIFS,而samba也是一套基於UNIX類系統、實現SMB/CIFS協議的軟件,作為UNIX的克隆,Linux也可以運行這套軟件。和NT相比較,samba的文件服務功能一點也不亞於NT,效率很高,借助Linux本身,可以實現用戶磁盤空間限制功能,NT到4.0版本還是無法實現這點,samba由samba小組(http;//samba.org)開發,更新速度很快,目前最高的版本是2.0.7版,是2000年4月25日發布的,每個更新版本在功能上都所增強,也修復了已知的BUG。本章所涉及到的技術內容以2.0.3版藍本。目前各種Linux發布大都包含這套軟件,如果你的Linux發布是Read Hat,則是以RPM形式提供,可以在安裝Linux的時候選擇這個軟件,也可以單獨安裝,以root身份。
  rpm -i samba-2.0.3-8.i386.rpm,就可以了。
  如果你的Linux發布沒有包含這個軟件,可以從ftp;//samba.org/pub/samba去下載。另外,您的Linux的核心要支持smbfs,一般各種發布已經把smbfs的支持包含進去,如果沒有包含的話,就要重新編譯核心,獲得smbfs支持,具體如何編譯核心請參閱相關文章。
  由於本章的內容是基於文件服務器, 重點介紹samba在文件服務器上的應用。目前samba還不能完全代替Windows NT,尤其是把samba設置成PDC,最好不要這樣做,NT PDC非常復雜,samba還只能實現其中一部分功能。希望未來的版本可以做到。
  這套軟件由一系列的組件構成,主要的組件有:
  smbd SMB服務器,給SMB客戶提供文件和打印服務;
  nmbd, Netbios 名稱服務器,提供Netbios名稱服務和浏覽支持,幫助SMB客戶定位服務器;
  smbclient, SMB客戶程序,用來存取SMB服務器上的共享資源;
  testprns 測試服務器上打印機訪問的程序;
  testparms 測試Samba配置文件的正確性的工具;
  smb.conf samba的配置文件;
  smbstatus 這個工具可以列出當前smbd服務器上的連接;
  make_smbcodepage 這個工具用來生成文件系統的代碼頁;
  smbpasswd 這個工具用來設定用戶密碼;
  swat samba的Web管理工具;
  
二、如何配置samba
  實際上,samba安裝完後,只要把/etc/smb.conf這個文件裡的workgroup=XXXXX這個參數該為您的工作組,啟動samba就可以運行了,但這根本不能符合我們的需要。samba的配置都是圍繞smb.conf來進行的,配置方式有很多種,如果熟練的話可以手工編輯這個文件,也可以通過linuxconf來配置,而且samba本身帶了一個基於web的管理工具swat,使用901端口,安裝完samba後,它會在您機器的/etc/services的尾部加上一條:
  swat 901/tcp #Add swat service used via inetd
  在inetd.conf裡填上:
  swat stream tcp nowait.400 root /usr/sbin/swat swat
  在浏覽器的地址欄裡鍵入 http://youhostname:901/ 就可以進入swat對samba進行管理。下面就介紹如何手工配置這個文件以達到讓samba成為一個符合需求的文件服務器。
  先看看一小段的smb.conf:
  # smb.conf example
  [global]
  workgroup = WORKGROUP
  server string = Samba Server
  hosts allow = 192.168.1. 192.168.2. 127.
  load printers = no
  printcap name = /etc/printcap
  guest account = guest
  log file = /usr/local/samba/var/log.%m
  max log size = 50
  security = user
  socket options = TCP_NODELAY
  [homes]
  comment = Home Directories
  browseable = yes
  writable = yes
  [printers]
  comment = All Printers
  path = /usr/spool/samba
  browseable = no
  guest ok = no
  writable = no
  printable = yes
  printer driver = Epson LQ-1600K
  [tmp]
  comment = Temporary file
  path = /tmp
  read only = no
  public = yes
  [public]
  comment = Public Zone
  path = /home/samba
  public = yes
  writable = yes
  1.段
  從上面的例子可以看出,smb.conf的格式和Windows裡的INI文件很像,含有多個段,每個段由段名開始,一直到下個段名,每個段名放在方括號中間。段裡的參數的格式是:名稱 = 值。
  文件裡的每個段名、參數以及注釋都只能占一行,換句話說就是一行裡只能寫一個段名或參數或注釋,如果一行寫不下或不想把一行寫的過長,可以在行尾用"\"來表示續行。段名和參數名不分大小寫。可以有注釋,注釋以;或#開始到該行結束。
  除了[global]段外,所有的段都可以看作是一個共享資源,段名是該共享資源的名字,而段裡的參數就是共享資源的屬性。[global], [homes] 和 [printers]這三個段是比較特殊的,將在後面說明。而下面的注意事項則是針對普通的段。
Copyright © Linux教程網 All Rights Reserved