天天看點

配置Samba服務

Samba是實作Windows系統和Linux系統的檔案共享服務。

一、Samba的配置檔案

首先是安裝Samba

Samba的配置檔案是/etc/samba/smb.conf,預設未注釋的部分如下:

注:主要有以上三個部分:[global], [homes], [printers]

[global] 定義全局的配置,workgroup用來定義工作組,一般情況下,需要我們把這裡的MYGROUP改成WORKGROUP(windows預設的工作組名字)。

●security = user  //這裡指定samba的安全等級。關于安全等級有四種:

    (1)share:使用者不需要賬戶及密碼即可登入samba伺服器

    (2)user:由提供服務的samba伺服器負責檢查賬戶及密碼(預設)

    (3)server:檢查賬戶及密碼的工作由另一台windows或samba伺服器負責

    (4)domain:指定windows域控制伺服器來驗證使用者的賬戶及密碼。

●passdb backend = tdbsam  //passdb backend(使用者背景),samba有三種使用者背景:smbpasswd, tdbsam和ldapsam.

    (1)smbpasswd:該方式是使用smb工具smbpasswd給系統使用者(真實使用者或者虛拟使用者)設定一個Samba密碼,用戶端就用此密碼通路Samba資源。smbpasswd在/etc/samba中,有時需要手工建立該檔案。

    (2)tdbsam:使用資料庫檔案建立使用者資料庫。資料庫檔案叫passdb.tdb,在/etc/samba中。passdb.tdb使用者資料庫可使用 smbpasswd -a 建立Samba使用者,要建立的Samba使用者必須先是系統使用者。也可使用pdbedit建立Samba賬戶。pdbedit參數很多,列出幾個主要的:

    (3)ldapsam:基于LDAP賬戶管理方式驗證使用者。首先要建立LDAP服務,設定 “passdb backend =ldapsam:ldap://LDAP Server”

●load printers 和 cups options 兩個參數用來設定列印機相關。

除了這些參數外,還有幾個參數:

●netbios name = MYSERVER               //設定出現在網路上的芳鄰中的主機名

●hosts allow = 127. 192.168.12. 192.168.13.   //用來設定允許的主機,如果在前面加 ”;” 則表示允許所有主機

●log file = /var/log/samba/%m.log     //定義samba的日志,這裡的%m是上面的netbios name

●max log size = 50               //指定日志的最大容量,機關是K

[homes] 該部分内容共享使用者自己的家目錄,也就是說,當使用者登入到samba伺服器上時實際上是進入到了該使用者的家目錄,使用者登陸後,共享名不是homes而是使用者自己的辨別符,對于單純的檔案共享的環境來說,這部分可以注視掉。

[printers] 該部分内容設定列印機共享。

二、Samba試驗

下面我們來進行試驗,不過實驗之前要先關閉iptables和selinux,否則很有可能試驗失敗。

實驗一

要求:共享一個目錄,任何人都可以通路,即不用輸入密碼就可通路,要求隻讀。

1、打開Samba的配置檔案

2、建立測試目錄

3、啟動Samba服務

也可以用testparm指令測試smb.conf檔案是否配置正确:

4、測試

(1)在Windows下測試:

win+r 輸入 \\192.168.0.109 就可以看到如下圖所示:

<a href="http://s3.51cto.com/wyfs02/M02/73/1B/wKiom1X1FYbCClp7AABO-RRKVJ8582.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/73/18/wKioL1X1F7jybynpAACT6fh-ReU039.jpg" target="_blank"></a>

你可以試着修改下檔案,或者建立檔案,都會發現沒有權限,隻能讀。

(2)在Linux下測試:

客戶機上要安裝cifs-utils

挂載到/opt/目錄下

<a href="http://s3.51cto.com/wyfs02/M02/73/1B/wKiom1X1G-HRZM4iAAEYVoSXdjg739.jpg" target="_blank"></a>

實驗二

要求:共享一個目錄,使用使用者名和密碼登入後才可以通路,要求可以讀寫。

3、添加使用者

因為在[globa]中 “passdb backend = tdbsam”, 是以要使用 pdbedit 來增加使用者,注意添加的使用者必須在系統中存在,是以需要先建立系統賬号

重新開機Samba服務

注意:pdbedit有什麼指令參數,常用的還有 -L:列出Samba賬号,-x:删除某個Samba賬号

win+r 輸入 \\192.168.0.109 就可以看到要輸入賬号密碼的提示框,輸入正确後可以進入,接着我們可以對檔案夾以及檔案進行修改。

<a href="http://s3.51cto.com/wyfs02/M02/73/1C/wKiom1X1JtPQ7t2FAABCsGZSWq0516.jpg" target="_blank"></a>

注意:從上面我們可以看到會生成一個以使用者名為命名的檔案夾,因為我們沒有把[home]那個子產品給注釋掉。

<a href="http://s3.51cto.com/wyfs02/M02/73/1A/wKioL1X1LezgcgFWAADAnNL69NE272.jpg" target="_blank"></a>

注釋掉後重新開機Samba服務,我們再檢視下就會發現user1目錄不存在了。

<a href="http://s3.51cto.com/wyfs02/M01/73/1C/wKiom1X1J6ODt1ayAAEWNu3wMN4495.jpg" target="_blank"></a>

檢視下,并且我們可以/opt/目錄進行建立檔案或者檔案夾的操作。

<a href="http://s3.51cto.com/wyfs02/M00/73/1C/wKiom1X1KXPBbd3BAABLPok14iQ351.jpg" target="_blank"></a>

另外在Linux下還有一種方式通路,就是在用戶端安裝samba-client包,然後用smbclient指令通路。

<a href="http://s3.51cto.com/wyfs02/M02/73/1C/wKiom1X1KPjSkEo1AAHtQV35lVw769.jpg" target="_blank"></a>

smb也有很多指令,大家可以試試。

實驗三

要求:共享兩個目錄,public與private,其中public目錄可匿名通路,任何人可以讀寫;private目錄需要驗證使用者名密碼才能夠通路。但都是隻讀。

注:因為配置檔案中定義過檔案的權限,故不用再定義

3、建立使用者

試驗二已經定義過,我們就不用再定義。可檢視下Samba的所有賬号:

win+r 輸入\\192.168.0.109 進入後,可以看到兩個檔案夾。

public目錄可直接通路,private目錄要輸入賬号密碼驗證後才可以進入;不過都對這兩個檔案隻讀。

<a href="http://s3.51cto.com/wyfs02/M01/73/27/wKioL1X2zzDh8NJWAABSWe1hZs4430.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M01/73/2B/wKiom1X2zPyxAY_cAAFCaBo22V4943.jpg" target="_blank"></a>

直接回車,不用輸入密碼。

參考拓展

<a href="http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html" target="_blank">http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html</a>

<a href="http://yuanbin.blog.51cto.com/363003/117105" target="_blank">http://yuanbin.blog.51cto.com/363003/117105</a>

      本文轉自 M四月天 51CTO部落格,原文連結:http://blog.51cto.com/msiyuetian/1694296,如需轉載請自行聯系原作者