天天看點

Samba雜談

作 者: AKuan

  Samba(桑巴舞),在區域網路中裝Linux伺服器,我想都要用Samba,不為别的,隻因為用戶端絕大多數是Windows。而使用Windows的使用者絕大多數喜歡“網路上的芳鄰”,而懶得用FTP登到你的Linux伺服器,更别指望他們會Telnet上伺服器,而使用Linux做檔案伺服器也有很大的優勢,就是可以使用Quota來限制使用者使用的磁盤空間,這在NT中是實作不了的(除非你找到第三方的工具,是否穩定還需實際考驗)。 Samba其實由兩個服務組成:SMB service和NMB service,對應于smbd和nmbd兩個守護程序。SMB是Server Messsage Block的縮寫,它是實作與Windows檔案共享的;NMB是NetBIOS Message Block的縮寫,是在IP上提供NetBIOS名字服務的。 使用Samba,主要是兩個功能:一是向Windows使用者提供檔案服務功能;二是使用Windows的檔案服務。當然,我們更多的應用還是使Linux成為檔案伺服器。當使用Samba服務而使Linux成為檔案伺服器後,第一個遇到的問題就是Windows使用者怎麼找到它。是以,你要搞清楚smb.conf中的一些配置: workgroup = ^^^^^^ 這就相當于Windows 95、98中和工作組或NT中的域。如果你要使使用者一打開“網路上的芳鄰”就能看到Linux伺服器,那麼你必須将^^^^^^設定成和使用者的工作組一樣(當然,更多的是你要使用者和你設定的一樣,但是,如果有一個NT域,那^^^^^^就必須是域名)。不過,有時你即使這麼做了,但使用者仍然找不到Linux伺服器。沒關系,你叫他們用“查找計算機”查一下,查到後再用,這不是你的錯,也不是Linux的錯,而是“網路上的芳鄰”的毛病。 使用者找到了Linux伺服器,哪些使用者能用?哪些使用者不能使用?能用的又該用什麼?這就是一個權限的問題。首先是對使用者身份的驗證。在Samba中對使用者身份驗證的方式三兩種:share、user和server,在samba 2.0.0以上中還有domain第四種方式。定義如下: security = server 表示:Samba向客戶報告它目前運作在“使用者模式”(user mode),即使用者必須提供使用者名和密碼,但此時它自己并不對使用者身份進行驗證,而是由password server =^^^^中指定的伺服器進行驗證,通過^^^^是一個NT伺服器。這很像NT中的域之間的信任或在windows95、98的共享中選擇“使用者級”,隻要伺服器驗證通過,Samba就接受。 security = share 或 Security = user 若使用上面兩個選項,那麼身份驗證直接由Linux服務來進行。如果你選擇security = share,那麼無論你是以什麼使用者名登入到windows,你都可以在“網路上的芳鄰”中打開Linux伺服器,并且看到所有的共享資源,但是你要通路共享資源時必須輸入正确的使用者名和密碼。而選擇security = user,如果你在windows中登入的使用者在linux中沒有帳号的話,在你打開Linux伺服器後就會首先要你輸入正确的使用者名和密碼,以後對于所有的共享資源,都以該名字和密碼去驗證。 無論你選擇哪一個,你都需要使用這一句: smb password file = /etc/smbpasswd 而且,如果你使用了密碼加密存儲,你還需要增加一句: encrypt passwords = yes 這就是使用者驗證的方式。如果要限制一個共享資源哪些人能通路,你可以在該共享資源段中增設: valid = name1 name2 .... 如果你隻想某些人具有可寫權限,在共享段中設定: writable = no

繼續閱讀