Samba主要的目的就是用來使Linux的機器跟M$的機器能夠互相交換資料,在Samba出現之前,M$的機器要跟Linux的機器交換資料是滿困難的事情。當Linux啟動了Samba,M$的機器要存取Linux的資料將跟使用網芳一樣簡單。

Samba的套件
同樣的,使用 rpm -qa |grep samba,來看看有沒有安裝samba
samba-client-3.0.33-0.fc8=================>samba的用戶端套件
system-config-samba-1.2.58-1.fc8==========>samba的圖形介面
samba-common-3.0.33-0.fc8=================>這個套件則主要提供了 SAMBA 的主要設定檔 (smb.conf) 、 smb.conf 語法檢驗的測試程式 (testparm)
samba-3.0.33-0.fc8========================>SAMBA 的主要 daemon 檔案 (smbd 及 nmbd)、 SAMBA 的文件檔 (document)、以及其他與 SAMBA 相關的 logrotate 設定檔及開機預設選項檔案等

啟動samba後會有兩個daemon,smbd與nmbd

除了圖形介面的套件可有可無之外,其它三個都需要安裝!!


相關檔案

/etc/samba  一般安裝完samba後,在/etc/下都會有samba的專用目錄

/etc/smb.conf   主要的設定檔案,samba的運作方式都在此設定,包括分享方式,群組名稱,分享目錄,各目錄權限等等

/etc/samba/lmhosts   有點像是/etc/hosts的功能,不過他對硬的名稱是NetBIOS name,不過目前Samba的功能越來越強大,啟動Samba就能自己抓道相對應的NetBIOS name跟IP,所以這個檔案就不那麼重要。

/etc/samba/smbpasswd   預設不存在,這是SAMBA預設的使用者密碼表,當samba設定較為嚴格時才會用的到他,當然你也可以指定把密碼表放在別的檔案,這個只是預設的。需要注意的是,這個檔案因為包含了使用者的密碼, 當然權限方面要較為注意啦!這個檔案的擁有者需要是 root ,且權限設定為 600 才行喔!

/etc/samba/smbusers:
由於 Windows 與 Unix-like 在管理員與訪客的帳號名稱不一致,分別為 administrator 及 root, 為了對應這兩者之間的帳號關係,可以使用這個檔案來設定。不過這個檔案的使用必須要經由 smb.conf 內的『 username map 』設定項目來啟動才行。


相關指令

testparm   當你編輯完smb.conf後,可以使用這個指令來檢查看看有沒有錯誤的地方

smbatatus    檢視目前samba的狀態

smbpasswd     一看就知道跟密碼有關,當samba設定的較為嚴格時,使用這個指令來設定user密碼

smbclient    用來檢查samba是否有設定正確,就像是在windows上用網芳檢測一樣

smbtree      列出附近有哪些可用的電腦資源





smb.conf
這個是主要的設定檔,這個檔案裡的#或;都代表註解。打開smb.conf,如果你把他印出來的話,會比較容易閱讀,你會發現大致分為兩個大部份,第一大部分:
=========Global Settings=========== 由此開始,到第二大部份 =========Share Definitions===========,讓我們慢慢看來~~

Global Settings:顧名思義就是全域設定,裡面又分了幾個小部分:

Network Related Options:網路相關設定,像是網域群組、主機描述、允許或拒絕那些IP、介面的連線等等
    workgroup = MYGROUP  這就是用來設定你的群組名稱
    server string = Samba Server Version %v   用來設定主機描述

Logging Options:登入設定,是否要記錄log,log要存到哪裡呢?
    log file = /var/log/samba/log.%m   log file存放的位置
    max log size = 50  檔案大小

Standalone Server Options:這裡可以設定samba的安全設定,像是登入權限等等
    security = user
    這個就是設定權限,user:使用 SAMBA 本身的密碼資料庫,密碼資料庫與底下的 smb passwd file 有關
                      share:分享的資料不需要密碼即可分享
                      server:使用外部主機的密碼,亦即 SAMBA 是用戶端之意,如果設定這個項目, 你還得要提供『password server = IP』的設定值才行;
    passdb backend = tdbsam  密碼檔案的位址, 像是這樣tdbsam:/etc/samba/private/passdb.tdb 

Domain Member Options:網域成員設定,要使用設定,security必須設為domain。


Domain Controller Options:網域控制選項


Browser Control Options:瀏覽控制選項


Name Resolution:

Printing Options:

Filesystem Options:

Share Definitions:分享設定,將想要與windows主機分享的目錄設定在這邊,每一個項目會以 [dir] 開頭,這裡面的文字,就是windows所看到的目錄名稱,下面接著這個項目的相關設定:
    [samba]
    comment = NB
    path = /samba
    public = yes
    writable = yes
相關的設定參數:   
    comment:這個資料夾的註解
    path:分享目錄的路徑
    read only:是否唯讀?
    public:是否公開
    writable:可寫入
    write list:可寫入的user
    read list:可讀取的user
    valid users:有權使用的user
    invalid users:無權使用的user
    guests ok:guest是否可以使用
這樣對照上面來看應該就很清楚了,由於samba的功能很強大,支援的參數非常的多,在這僅列出一些較常使用到的,更詳細的設定請使用 man smb.conf。

部分內容參考鳥哥的Linux私房菜


f
創作者介紹
創作者 xiangyang17 的頭像
xiangyang17

xiangyang17

xiangyang17 發表在 痞客邦 留言(0) 人氣()