天天看點

Samba檔案共享服務

第2章-samba檔案共享服務

一,samba服務基礎

在windows網絡環境中,主機之間進行檔案和列印共享是通過微軟公司的smb/cifs網絡協定實作的。

(1),samba軟體的組成

1,samba軟體包的組成

服務端軟體“samba”

用戶端軟體“samba-client”

服務端和用戶端程式的公共元件“samba-common”

web接口的圖形管理程式軟體“samba-swat”

2,sabma服務的程式元件

〖smbd〗

#負責為客戶機提供伺服器中的共享資源(目錄和檔案等)的通路

       #負責監聽tcp的協定的139端口(smb協定),445端口(cifs協定)

〖nmbd〗

      #負責提供基于netbios協定的主機名解析,以便為windows網絡中的主機進行查詢服務

      #負責監聽udp協定的137-138端口(netbios協定)

【啟動服務】

      #service  smb  start

      #腳本檔案:/etc/rc.d/init.d/smb

(2),主配置檔案smb.conf

檔案位置:/etc/samba/smb.conf

〖global〗全局配置:

   這部配置設定置項的内容對整個samba伺服器都有效

〖homes〗宿主目錄共享設定:

設定linux使用者的預設共享,對應使用者的宿主目錄,當使用者通路伺服器中與自己使用者名同名的共享目錄時,通過驗證後将會自動映射到該使用者的宿主目錄中

〖printers〗列印共享設定:

   如果需要共享列印裝置,可以在這部分進行配置

【samba伺服器的常見配置項及含認說明】

workgroup:設定伺服器所在的工作組名稱

server  string:設定伺服器的說明文字,用于描述samba伺服器

security:設定伺服器的安全級别,share(可匿名通路)、user(需要使用者名及密碼)

      server(指定另一台伺服器來驗證使用者名及密碼)

      domain(由windows域控制器驗證使用者名及密碼)

log  file:設定samba伺服器的日志檔案,預設儲存在/var/log/samba/目錄中

comment:設定對應共享目錄的注釋、說明資訊

path:設定對應共享目錄在伺服器中的檔案夾路徑

browseable:使用者的宿主目錄,設定該目錄在“網路上的芳鄰”中是否可見,“no”表示隐藏享目錄

guest  ok:與“public”作用相同,設定是否所有人都可以通路共享目錄

writable:與“read  only”作用相反,設定該共享目錄是否可寫

二,建構檔案共享伺服器

(1),可匿名通路的共享

        #可匿名通路的共享适用于公開的資源分享,一般隻建議提供隻讀通路

        #配置檔案“smb.conf”中調整:

a,可以将預設的安全級别修改為share

b,添加一段共享目錄配置

(2),需使用者驗證的共享

1,建立samba使用者資料庫

#samba伺服器使用獨立的共享賬号資料庫檔案,其中的賬号名稱必須有與它同名的系統使用者相對應

#共享使用者的密碼是額外設定的,可以與系統使用者的密碼不一樣

#samba共享使用者的賬号資料庫檔案預設位于“/etc/samba/passdb.tdb”

【添加、編輯共享使用者】

   pdbedit -a  -u  使用者名               /添加使用者為samba共享使用者

      -a:表示添加

      -u:表示指定使用者名稱

   pdbedit  -l                         /列出所有samba使用者

   pdbedit  -vl  使用者名                /列出指定使用者,輸出詳細資訊

   pdbedit  -x -u  使用者名             /删除指定samba使用者

2,設定使用者通路權限

   #将“security”安全級别設為“user”

   #使用者授權設定由“valid users、write list”配置項指定

   #授權多個共享使用者時,以逗号或空格進行分隔

   #授權組,可以使用“@組名”的格式

【案例:将本地目錄/opt/mytools釋出為共享目錄,共享名為“tools”】

要求共享使用者u1、u2能夠通路,其中u2使用者具有寫入權限

第一步:建立共享使用者u1、u2,确認共享目錄

          pdbedit  -a -u  u1

          pdbedit  -a -u  u2

          mkdir  /opt/mytools

第二步:修改smb.conf配置檔案,添加名為tools的共享目錄配置段

          vim  /etc/samba/smb.conf

             [tools]

                 path=/opt/mytools

                 public=no

                 read  only=no

                 valid  users=u1,u2

                 write  list=u2

第三步,啟動smb服務

          service  smb restart

3,确定目錄通路權限

第一步,chmod  777 /opt/mytools     /先把本地目錄權限放開

第二步,修改配置檔案“smb.conf”

          driectory  mask=0755     /上傳目錄權限項

          create  mask=0644        /上傳檔案權限項

(3),使用者映射及通路位址限制

1,共享賬号映射(别名)

第一步,修改映射檔案:/etc /smba/smbusers

格式:共享使用者名=别名1  别名2  别名3…

如:root=administrator  admin

第二步,修改主配置檔案,在全局裡添加選項

       vim  /etc/samba/smb.conf

              [global]

                      username  map=/etc/samba/smbusers

第三步,重新載入smb服務

       service  smb reload

2,通路位址限制

     #hosts  allow:用于指定僅允許通路共享的客戶機位址

     #hosts  deny:用于指定僅拒絕通路共享的客戶機位址

#通路位址限制一般應用于[global]全局配置部分,也可以應用于某個具體的共享配置段部分

#限制對象可以是主機名,ip位址或網段位址(省去主機部分),多個位址之間以逗号或空格進行分隔

例如:【global】

               hosts allow=192.168.1   173.17.

三,通路共享檔案夾

(1),使用smbclient通路共享檔案夾

需要安裝samba-client軟體包

1,查詢目标主機的共享資源清單

smbclient -l  共享ip

例如:  smbclient  -l 192.168.1.1

2,登入并通路共享檔案夾

smbclient //主機位址/共享名

例如:  smbclient  //192.168.1.1/tools                    /匿名通路

       smbclient  -u  使用者名 //192.168.1.1/tools        /使用者驗證

(2),使用mount挂載共享檔案夾

      mount -o  username=使用者名  //主機位址/共享名    /挂載點

例如:  mount  -o username=u1 //192.168.1.1/tools   /opt

繼續閱讀