萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> samba服務的搭建

samba服務的搭建

   Samba是一套使用SMB(Server Message Block)協議的應用程序, 通過支持這個協議, Samba允許Linux服務器與Windows系統之間進行通信,使跨平台的互訪成為可能。Samba是在Linux及Unix上實現SMB(Server Message Block)協議的一個免費軟件,由服務器及客戶端程序構成。

  Samba采用C/S模式, 其工作機制是讓NetBIOS( Windows 網上鄰居的通信協議)和SMB兩個協議運行於TCP/IP通信協議之上,並且用NetBEUI協議讓Windows在“網上鄰居”中能浏覽Linux服務器。

  samba服務的搭建

  客戶的使用系統的不同也導致測試結果的不同.

  linux系統客戶端:

  security = user or share

  smbclient -L //192.168.7.113/westos 都是可以看到共享目錄的,

  二者不同之處在於, security = user 時

  [root@redhat samba]# smbclient //192.168.7.113/westos

  Enter root's password:

  Anonymous login successful //系統提示登錄samba服務成功,但是訪問westos共享目錄失敗,匿名用戶也是用戶。

  Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]

  tree connect failed: NT_STATUS_ACCESS_DENIED

  security = share

  [root@redhat samba]# smbclient //192.168.7.113/westos

  Enter root's password:

  Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]

  Server not using user level security and no password supplied. //不是服務的有效用戶,雖然security = share,但是要支持密碼登陸。相當於samba服務訪問都沒成功

  tree connect failed: NT_STATUS_WRONG_PASSWORD

  win的測試:

  security = share 時

  我們訪問samba服務時,直接登陸成功,但是訪問目錄時,提示要密碼。

samba服務的搭建 三聯

  security = user 時,當訪問samba服務時就開始要密碼,沒密碼不訪問。

  有沒有這種感覺,linux和win的測試,貌似二者是相反的,剛好顛倒過。

  Linux系統

  當Public =yes 時:

  security = user or share

  匿名用戶登陸都將成功。

  [root@redhat samba]# smbclient //192.168.7.113/westos

  Enter root's password:

  Anonymous login successful

  Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]

  smb: > ^C

  [root@redhat samba]# vim /etc/samba/smb.conf

  [root@redhat samba]# /etc/init.d/smb restart

  Shutting down SMB services: [ OK ]

  Starting SMB services: [ OK ]

  [root@redhat samba]# smbclient //192.168.7.113/westos

  Enter root's password:

  Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 3.5.10-125.el6]

  Server not using user level security and no password supplied.

  smb: > ^C

  win客戶端:

  當Public =yes 時:

  security = share

  匿名用戶不需要密碼用戶名,直接登陸成功,訪問共享目錄也不需要密碼用戶名。

  當Public =yes 時:

  security = user

  當你訪問samba時,直接就會要用戶名,密碼,登陸都不成功,何況看到共享目錄。

  比較:

  也就是說當當Public =yes 時:linux客戶端就可以訪問共享目錄,不管security = user ro share.跟它都沒關系。Win客戶端只有security =share時,匿名用戶才有權利去訪問共享目錄。

  Samba的幾個主要配置文件(/etc/samba)

  smb.conf:最主要的配置文件,分為[global]和[Share Definitions]兩個部分。

  lmhosts:對應NetBIOS Name與該主機的IP,一般Samba在啟動時就能捕捉到LAN中相關計算機NetBIOS Name對應的IP,因此,這個配置文件一般不用設置。

  smbpasswd:這個文件默認不存在,它是Samba預設的使用者密碼對應表。

  Samba的幾個主要命令

  smbpasswd:用來設置Samba用戶的帳號和密碼。

  smbclient:用來查看別的Linux主機的共享。也可以在自己的Samba主機上使用,用來查看設置是否成功。

  smbmount:用來將Samba服務器共享的文檔和目錄掛載到自己的Linux主機上。

  testparm:用來檢查smb.conf是否有錯誤。

  smb.conf的幾個常用變量

  ①客戶端變量

  -----------------------------------------------------------------------------

  %a | 客戶端的體系結構(例如Samba,NT,Win98,或者Unknown)

  %I | 客戶端的IP地址(例如:192.168.220.100)

  %m | 客戶端的NetBios名

  %M | 客戶端的DNS名

  ------------------------------------------------------------------------------

  ②用戶變量

  ------------------------------------------------------------------------------

  %g | %u的基本組

  %G | %U的基本組

  %H | %u的Home目錄

  %u | 當前的unix用戶名

  %U | 被請求的客戶端用戶名(不總是被samba使用)

  ------------------------------------------------------------------------------

  ③共享變量

  ------------------------------------------------------------------------------

  %p | 如果和%p不同,automounter的路徑對應共享的根目錄

  %P | 當前共享的根目錄

  %S | 但前共享的名稱

  -------------------------------------------------------------------------------

  ④服務器變量

  -------------------------------------------------------------------------------

  %d | 當前服務器進程的ID

  %h | Samba服務器的DNS主機名

  %L | Samba服務器的netbios名

  %N | Home目錄服務器,來自automount的映射

  %v | samba版本

  -------------------------------------------------------------------------------

  ⑤其他變量

  -------------------------------------------------------------------------------

  %R | 經過協商的SMB協議

  %T | 當前的日期和時間

  四種安全等級

  ①security=share:用戶訪問Samba服務器不需要提供用戶名和口令, 安全性能較低。

  ②security=user:Samba服務器默認的安全等級, 每一個共享目錄只能被一定的用戶訪問, 並由Samba服務器負責檢查賬號和密碼的正確性。

  ③security=server:服務器安全級別,依靠其他Windows NT/2000或Samba服務器來驗證用戶的賬號和密碼,是一種代理驗證。此種安全模式下,系統管理員可以把所有的Windows用戶和口令集中到一個NT系統上,使用Windows NT進行Samba認證, 遠程服務器可以自動認證全部用戶和口令,如果認證失敗,Samba將使用用戶級安全模式作為替代的方式。

  ④security=domain:域安全級別,使用主域控制器(PDC)來完成認證。

copyright © 萬盛學電腦網 all rights reserved