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

Samba雜談

日期:2017/2/27 12:19:08   编辑:Linux文化

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
write list = name1 @name2 //name1為用戶名,name2為組名

總之,Samba的使用技巧比較多,上面只是我個人的一點雜談,不當之處請大家指正。

- AKuan([email protected])


——摘自:Linux一千零一Yea


Copyright © Linux教程網 All Rights Reserved