Samba 服務的搭建

一、服務概述

SMB/CIFS

SMB(Server Message Block,服務消息塊)

CIFS(CommonInternet FIle System,通用互聯網文件系統)

Samba服務通常用來做文件服務器,它可以實現 windows 與類 Unix

實現共享打印機,共享文件等功能,samba 底層也是 CIFS 協議。

 

二、安裝需要的軟件包

samba                服務端軟件

samba-client        客戶端軟件

samba-common           提供服務端和客戶端的公共組件

System-config-samba    samba 的圖形界面軟件包

Samba-swat           sambaweb界面管理軟件包

 

三、samba 服務相關進程及端口號

/usr/sbin/smbd    爲客戶機提供服務器中的共享資源的訪問

/usr/sbin/nmbd    提供基於 NetBIOS 協議的主機名稱解析

Samba的腳本      /etc/init.d/smb

Samba的端口:

Nmbd:137138NetBIOS 協議

smbd:139SMB 協議)  445CIFS 協議)

 

四、安裝服務

1、掛載光盤

mount/dev/cdrom /mnt

2、安裝軟件包

rpm-ivh samba-3.6.9-151.el6.x86_64.rpm

rpm-ivh samba-client-3.6.9-151.el6.x86_64.rpm

rpm-ivh samba-common-3.6.9-151.el6.x86_64.rpm

3、啓動服務

servicesmb start

4、查看端口是否存在

netstat-anpt |grep smb

5.samba配置文件講解

samba服務的主配置文件/etc/samba/smb.conf主要由兩部分組成:

1Global Settings 全局參數設置  該設置都是與 Samba 服務整體運行環境有關的選項,它的設置項目是針對所有共享資源的

      [global]   全局設置,裏面的配置信息對整個服務器都生效

        Workgroup = MYGROUP             工作組的名字

        Server string = Samba Server Version %v  samba 的描述信息

; netbios name = MYSERVER

;interfaces=lo eth0 192.168.12.2/24 192.168.13.2/24

; hosts allow = 127. 192.168.12. 192.168.13.

注意,關於 samba 服務的 IP 的表示方法有點特殊,只需要寫出網絡位,主機位省略。127.0.0.0 寫成 127.

192.168.12.0寫成 192.168.12.

       

        security= user     #Samba 的安全模式

        passdb backend = tdbsam

關於 samba 的五種安全模式:

Share 允許匿名訪問

User   需要用戶名和密碼認證,認證信息來自於 samba 服務本身

Domain 認證來自於網絡中另一臺計算機

Server domain 一樣

Ads     使用微軟的 AD 來認證

2Share Definitions 共享目錄    該設置針對的是共享目錄個別的設置,只對當前的共享資源起作用。

  

[homes]

        comment = Home Directories

        browseable = no

        writable = yes

;       valid users = %S

;       valid users = MYDOMAIN\%S

 

這裏有一段homes的配置片段,這段配置需要註釋掉,否則在我們共享完目錄後,會連用戶的家目錄一起顯示出來。

        [test]   這是共享的名字,也就是你從windows登錄到共享服務器後看到的名字。  

        comment =Public Stuff     #共享描述

        path= /gongxiang    #這時你共享的路徑

        public = no          #等於yes的時候表示所有人可以看到gongxiang這個目錄裏面的東西。等於no的時,所有人不能看到gongxiang這個目錄,需要用戶名和密碼才能看到。

       

   read only = no         #是否有寫權限 no 代表有寫權限

   valid users = test1test2

                         #有效的用戶,就是能通過驗證的用戶,但是隻有寫權限。@組名錶示授權一個組

   write list = test1    #具有寫權限的用戶。

   directory mask = 0755     #共享用戶上傳文件的權限

   create mask = 0644       #創建子目錄的權限

 

特別注意:在配置某個共享文件需要用戶驗證用戶的時候,要是要配置寫權限,配置文件和chmod 777 要同時開啓,才能生效。讀權限只要配置器其中一個改成讀就可以了。

 

 

五、實現匿名用戶訪問

創建測試文件

mkdir/gongxiang

1、將samba的安全級別改爲share 即:

   vim /etc/samba/smb.conf

   security = share

2、設置共享目錄

[test]

comment = testfile

path = /gongxiang

public = yes

read only = no                    

3、訪問測試文件

你的samba的服務器是多少,訪問的IP就寫多少

                    1

                  2

然後就可以再test目錄下創建文件了。

 

六、實現訪問驗證登陸

1、將samba的安全級別改爲share 即:

   vim /etc/samba/smb.conf

   security = user

2、設置共享目錄權限

[test]

comment = testfile

path = /gongxiang

public = no

#read only = no 這一條配置可以去掉 

valid users = a,b     僅允許哪些用戶對該目錄有操作的權限,默認也只有 r 的權限。其他用戶沒有任何權限。 

write list = b          哪些用戶可以有寫權限

重啓服務

   servicesmb restart

3、創建共享用戶

爲了區別linux主機中系統用戶,通常將用於訪問samba共享資源的用戶成爲共享用戶。Samba服務器使用獨立的共享賬號數據文件,其中的賬號名稱必須有與它同名的系統用戶相對應。共享用戶的密碼和系統用的密碼可以不一致。

   (1)創建系統用戶

     useradd -M -S /sbin/nologin a

      useradd -M -S /sbin/nologin b

   (2)創建系統用戶對應的samba共享用戶

     pdbedit -au a

      pdbedit -au b

       

     

      刪除的用戶,命令如下

      pdbedit -xu 用戶名

   3查看samba系統用戶

   [root@Centos2 home]# pdbedit -L

   a:505:

   b:506:

    

測試登陸

                    1

                  2

注意:windows中用某一用戶訪問過samba服務器後,登陸的用戶會有驗證緩存,所以切換用戶訪問的時候需要清除緩存。命令如下

windwos的命令行提示符中輸入:

net use */del       即可清除緩存

需要多清楚兩遍

在次訪問的時候需要手動輸入訪問地址:

\\samba服務器的IP地址

如果還有緩存的話,重啓解決

 

七、實現虛擬用戶訪問

   共享賬號映射(別名)

   它可以將一個共享用戶映射成多個不同的用戶,這樣我們就可以通過共享用戶的別名和密碼就能訪問授權的資源了。保證了系統安全性。

   (1)samba共享用戶的映射配置文件在/etc/samba/smbusers

vim/etc/samba/smbusers

格式如下:

     共享用戶名 = 別名1 別名2 別名3

例如: a = test1 test2test3

(2)vim/etc/smb/smb.conf

在全局配置裏添加一條

username map = /etc/samba/smbusers

重啓服務

   service smb restart

 

注意:windows中用某一用戶訪問過samba服務器後,登陸的用戶會有驗證緩存,所以切換用戶訪問的時候需要清除緩存。命令如下

windwos的命令行提示符中輸入:

net use */del       即可清除緩存

需要多清楚兩遍

在次訪問的時候需要手動輸入訪問地址:

\\samba服務器的IP地址

如果還有緩存的話,重啓解決

 

 

(3).訪問地址限制

   samba.conf 中的全局配置中配置

   hostsallow = 192.168.3.1 或者是 hosts deny= 192.168.3.1

   訪問地址限制一般用於全局配置部分,也可以用於某個具體的共享配置段部分。限制對象可以是主機名、ip地址或者  是網絡段地址(省去主機位部分),多個地址之間以逗號或是空格分隔。

 

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章