歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網

Samba簡介

日期:2017/2/27 14:15:48   编辑:更多Linux
  Samba是由Andrew Tridgell在1991年(和Linux誕生的時間接近)制作的,當時他使用的是DEC的Pathworks網絡,但是他發現無法同時使用Sun的NFS協議(正如我們前面介紹的,NFS是一個非常有用的網絡協議),於是,連Socket(套接字)都不熟悉的他開始嘗試自己在PC機上實現NFS,經過不斷的摸索,他終於在自己的計算機上實現了NFS,采用的網絡協議是NetBIOS(因為NetBIOS是公開的,可以合法地得到)。到了1992年1月,他開發出了0.1版,稱為Server 0.1,隨後又開發了一段時間,由於得到了X終端,他放棄了進一步的開發。直到1992年底,從一封電子郵件中,Andrew Tridgell獲知了Linux,一個愛好者將Server 1.0轉換到了Linux上,很快,人們發現這個程序可以直接使用,應用戶的要求,Adrew Tridgell開始在Linux上開發,同時他發現smb-server已經被別人注冊了,所以就只好起名為Samba,這就是Samba這個名稱的由來。讀者如果感興趣的話可以訪問http://www.ssc.com/lj/issue7/samba.Html了解這段歷史。 1. Samba服務能夠做什麼  在網絡上共享目錄,就好像一台文件服務器一樣。  在網絡上共享打印機。  決定每一個目錄由誰來使用,可以讓一個人、某些人、組和所有人訪問。  決定打印機由誰來使用,可以讓一個人、某些人、組和所有人使用。 可以看出,安裝和配置好了Samba服務器後,Linux就可以Windows網絡中的文件和打印服務器了。 2. Samba的安裝 我們假設用戶在安裝Red Hat Linux的時候,已經選擇了安裝Samba(如果安裝的時候你選擇了everything,那麼你的計算機上已經有了Samba),如果沒有安裝,可以從光盤的RedHat/RPMS目錄下安裝,也可以到FTP://metalab.unc.edu/pub/Linux/system/network/samba/去尋找最新版本,安裝的時候,請參考samba-HOWTO和軟件提供的幫助文件。 3. Samba軟件包的內容 Samba是SMB客戶程序/服務器軟件包,它主要包含以下程序:  SMB服務器smbd:為SMB客戶機如Windows 9x/NT等提供Windows NT和Lan Manager風格的文件和打印服務。  Netbios(RFC1001/RFC1002)名字服務器nmbd:可以提供浏覽支持。用戶甚至可以用Samba作為局域網的主浏覽服務器。  SMB客戶程序smbclient:類似ftp程序,用以從UNIX、Netware和其他操作系統上訪問SMB服務器上的資源(如文件、打印機)  SMB客戶服務程序的tar擴展smBTar:用以方便地拷貝SMB服務器上的文件。 在Linux上,Samba還提供了掛卸SMB文件系統的工具程序smbmount(smbmnt)和smbumount。 samba的核心是smbd和nmbd,如果你用ps –ef可以看到這兩個進程,那麼你的機器已經在運行samba了。Samba服務的狀態查詢、啟動和關閉: # /usr/bin/smbstatus # /etc/rc.d/init.d/smb stop # /etc/rc.d/init.d/smb start 4. 定制Samba 這部分內容介紹如何配置Samba,主要就是如何調整/etc/smb.conf文件,所以請現在備份一下你的smb.conf文件。原始的smb.conf文件如下,我們在後面的配置過程中,會把相關的部分拿出來單獨介紹,為了方便,我們把原始文件的注釋部分用中文代替。 smb.conf文件的作用和語法類似於Windows 3.x裡面的ini文件,該文件現在一般位於/etc目錄下。 smb.conf文件的語法格式包含了許多區段(section),每一個區段都有一個名字,用方括號括起來,其中比較重要的區段是[global]、[homes]和[printers],[global]區段定義了全局參數,[homes]區段定義了用戶的主目錄文件服務,[printers]區段定義了打印機共享服務。


每一個區段裡面都定義了許多參數,格式為“參數名 = 參數值”,等號兩邊的空格被忽略,參數值兩邊的空格也被忽略,但是參數值裡面的空格有意義。如果一行太長,用“”進行換行。 # Samba的配置文件,用戶應該在修改前仔細閱讀smb.conf(5)的手冊頁。 # Samba有許多選項,大多數沒有列在本文件中(手冊頁約130頁) # # 所有以分號;和井號#開頭的行都表示注釋,這些行都被忽略,本文約定, # 文件中用井號表示評論,分號表示可以激活的選項 # # 當你修改本文件後,應該運行testparm命令以檢查語法錯誤 # #=======================設置全局變量的區段==================================== [global] # workgroup = NT的域名或者工作組名 workgroup = MYGROUP # server string 等價於NT的描述域(description field) server string = Samba Server # 下面的選項對於安全十分重要,它限制連接到當前服務器的本地網絡的IP地址。 # 下面的例子中,只允許兩個C類網絡地址和‘loopback'界面訪問SMB服務器。 # 更多信息,查看smb.conf的手冊頁。如果該選項要激活,把分號去掉。 ; hosts allow = 192.168.1. 192.168.2. 127. # 自動加載打印機,而不是每次單獨設置 printcap name = /etc/printcap load printers = yes # 除非你的打印系統的類型不標准,否則不用設置下面的參數,當前支持的打印 # 系統有:bsd, sysv, plp, lprng, aix, hpux, qnx ; printing = bsd # 如果希望建立客戶賬號,激活此選項,同時把此賬號加入/etc/passwd文件中 # 否則使用用戶"nobody"作為客戶賬號 ; guest account = pcguest # 對從不同機器建立的連接建立不同的日志文件 log file = /var/log/samba/log.%m # 限制日志文件的最大尺寸(單位是KB) max log size = 50 # 安全模式,大多數用戶希望用戶級的安全, # 詳細信息參考security_level.txt文件。 security = user # 當security = server時使用口令服務器選項 ; passWord server = # 輸入口令應該和真實口令的前面Password Level個字符相符合 # 輸入用戶名應該和真實用戶名的前面username level個字符相符合 ; password level = 8 ; username level = 8 # 用戶可能需要使用口令加密,在使用下面的選項之前,請仔細 # 閱讀ENCRYPTION.txt,Win95.txt和WinNT.txt文件。 # 用戶密碼文件可以存放在/etc/passwd文件中 ; encrypt passwords = yes ; smb passwd file = /etc/smbpasswd # 如果要允許在Windwos中的密碼改動更新Linux系統的密碼,就需要下面的選項. # NOTE: Use these with 'encrypt passwords' and 'smb passwd file' above. # NOTE2: You do NOT need these to allow workstations to change only # the encrypted SMB passwords. They allow the Unix password # to be kept in sync with the SMB password. ; unix password sync = Yes ; passwd program = /usr/bin/passwd %u ; passwd chat = *New*UNIX*password* %n *ReType*new*UNIX*password* %n *passwd:*all*authentication*tokens*updated*sUCcessfully*

# Unix用戶可以映射成不同SMB用戶名 ; username map = /etc/smbusers # 對每個不同的客戶機使用不同的配置文件,%m代表客戶機的Netbios名字 ; include = /etc/smb.conf.%m # 下面的選項可以提高服務器的性能,特別是使用smbmount掛卸SMB文件系統時。 # 參考speed.txt文件。 socket options = TCP_NODELAY # 如果SMB服務器使用了多個網卡,必須在下面列出並進行配置 ; interfaces = 192.168.12.2/24 192.168.13.2/24 # Configure remote browse list synchronisation here # request announcement to, or browse list sync from: # a specific host or from / to a whole subnet (see below) ; remote browse sync = 192.168.3.25 192.168.5.255 # Cause this host to announce itself to local subnets here ; remote announce = 192.168.1.255 192.168.2.44 # 浏覽器控制選項:如果你不想讓Samba服務器成為網絡中的主浏覽器, # 那麼local master設置為no,否則設置為yes(此時將參加主浏覽器的競爭) ; local master = no # 競爭主浏覽器時對自身的評價 ; os level = 33 # Domain Master specifies Samba to be the Domain Master Browser. This # allows Samba to collate browse lists between subnets. Don't use this # if you already have a Windows NT domain controller doing this job ; domain master = yes # Preferred Master causes Samba to force a local browser election on startup # and gives it a slightly higher chance of winning the election ; preferred master = yes # Use only if you have an NT server on your network that has been # configured at install time to be a primary domain controller. ; domain controller = # Enable this if you want Samba to be a domain logon server for # Windows95 workstations. ; domain logons = yes ; domain controller = # Enable this if you want Samba to be a domain logon server for # Windows95 workstations. ; domain logons = yes
Copyright © Linux教程網 All Rights Reserved