1. 程式人生 > 實用技巧 >Samba 伺服器

Samba 伺服器

一、Samba使用者管理

1、新建系統測試賬號

$sudouseraddtest//新建一個名為test的賬號
$sudopasswdtest//為test賬號設定密碼

2.新增samba賬號

$sudosmbpasswd-atest//以系統賬號test為基礎建立samba使用者test

在<section header>中有三個特殊的NAME,分別是global、homes和printers。下面對這三個作簡單的介紹。

[global]:其屬性選項是全域性可見的,但是在需要的時候,我們可以在其他<section>中定義某些屬性來覆蓋[global]的對應選項定義。

[homes]:當客戶端發起訪問共享服務請求時,samba伺服器就查詢smb.conf檔案是否定義了該共享服務,如果沒有指定的共享服務<section>,但smb.conf檔案定義了[homes]時,samba伺服器會將請求的共享服務名看做是某個使用者的使用者名稱,並在本地的password檔案中查詢該使用者,若使用者名稱存在並且密碼正確,則samba伺服器會將[homes]這個<section>中的選項定義克隆出一個共享服務給客戶端,該共享的名稱是使用者的使用者名稱。

[printers]:用於提供列印服務。當客戶端發起訪問共享服務請求時,沒有特定的服務與之對應,並且[homes]也沒有找到存在的使用者,則samba伺服器將把請求的共享服務名當做一個印表機的名稱來進行處理。

除了global、homes和printers外,我們可以在smb.conf檔案中定義自定義的共享服務名。在共享服務的定義中,我們通過一些選項來定義共享服務的屬性。在選項的定義中,我們可以使用一些samba預定義的變數來設定動態的選項值。下面列出幾個常用的預定義變數:

%S:當前服務名

%P:當前服務的根目錄

%u:當前服務的使用者名稱

%U:當前會話的使用者名稱

%g:當前服務使用者所在的主工作組

%G:當前會話使用者所在的主工作組

%H:當前服務的使用者的Home目錄

%V:samba的版本號

%h:執行samba服務機器的主機名

%M:客戶端的主機名

%m:客戶端的NetBIOS名稱

%L:伺服器的NetBIOS名稱

%R:所採用的協議等級(CORE/COREPLUS/LANMAN1/LANMAN2/NT1)

%d:當前服務程序的ID

%I:客戶端的IP

%T:當前日期和時間

二、重要選項說明

全域性選項:

全域性選項用於[global]的<section>選項定義中,其用於說明samba伺服器的一些基本屬性。其有些選項可以被其他<section>中的選項定義覆蓋。

workgroup = MYGROUP

定義samba伺服器所在的工作組或者域(如果設定security = domain的話)。

server string = Samba server

設定samba伺服器的描述,通過網路鄰居訪問時可在備註中檢視到該描述資訊。

hosts allow = host (subnet)

設定允許訪問該samba伺服器的主機IP或網路,該選項的值為列表型別,不同的專案之間使用空格或逗號隔開,例如hosts allow = 192.168.3.0, 192.168.1.1,該選項設定允許主機192.168.1.1以及子網192.168.3.0/24內的所有主機訪問該samba伺服器。

hosts deny = host (subnet)

設定不允許訪問該samba伺服器的主機IP或網路,其格式與hosts allow一樣。

guest account = guest

設定了遊客的賬號,在遊客訪問guest ok = yes的共享服務時,samba伺服器將設定客戶端以該遊客賬號來訪問共享。

log file = MYLOGFILE

設定記錄檔案的位置。

max log size = size

設定記錄檔案的大小,單位為KB,如果設定為0則表示無大小限制。

security =

設定samba伺服器的安全級,其有四種安全級別:share、user、server和domain,預設為user。關於這四種安全級別的詳細資訊,請檢視相關文件。

password server = ServerIP

設定了使用者賬號認證伺服器IP,其在設定security = server時有效。

encrypt passwords = yes | no

設定是否對密碼進行加密。如果不對密碼進行加密的話,在認證會話期間,客戶端與伺服器傳遞的是明文密碼。但有些Windows系統預設情況下,不支援明文密碼傳輸。

passdb backend = smbpasswd | tdbsam | ldapsam

設定samba伺服器訪問和儲存samba使用者賬號的後端,在samba-3.0。23之前的預設值為smbpasswd,而之後的預設值為tdbsam。

smb passwd file =

設定samba的使用者賬號檔案。對於原始碼安裝的samba,在samba-3.0.23之前,其預設值為/user/local/samba/private/smbpasswd;而samba-3.0.23之後,其預設值為/usr/local/samba/private/passwd.tdb。

include = smbconfFile

通過include選項可以包含其他配置檔案,通過該選項和一些samba定義的變數可以設定與不同機器相關的配置。

local master = yes | no

設定該samba伺服器是否試圖成為本地主瀏覽器,預設值為yes。若設定為no,則該samba伺服器永遠不可能成為本地主瀏覽器,而設定為yes不代表其一定能成為本地主瀏覽器,只是讓其能參與本地主瀏覽器的選舉。

os level = N

N是一個整數,設定了該samba伺服器參加本地主瀏覽器選舉時的權重,其值越大,權重越大。os level = 0時,該伺服器將失去選舉的機會。

domain master = yes | no

設定samba伺服器成為域瀏覽器。域瀏覽器從各個本地主瀏覽器處獲取瀏覽列表,並將整個域的瀏覽列表傳遞給各個本地主瀏覽器。

preferred master = yes | no

設定該samba伺服器是否為工作組裡的首要主瀏覽器,如果設定為yes,則在nmbd啟動時,將強制一個瀏覽選擇。

區域性選項:

區域性選項為除了global外的各個<section>中的引數。其定義了共享服務的屬性。

comment =

設定共享服務的描述資訊。

path =

設定共享服務的路徑,其中可以結合samba預定義的變數來設定。

hosts allow = host(subnet)

hosts deny = host(subnet)

與全域性的hosts allow和hosts deny含義相同,其會覆蓋全域性的設定。

read only = yes | no

設定該共享服務是否為只讀,該選項有一個同義選項writeable。

user = user(@group)

設定所有可能使用該共享服務的使用者,可以使用@group來設定群組group中的所有使用者賬號。該選項的值為列表,不同的專案之間使用空格或逗號隔開。在設定security = share時,客戶端要訪問某共享服務時提供的密碼會與該選項指定的所有使用者進行一一配對認證,若某使用者認證通過,則以該使用者許可權進行共享服務訪問,否則拒絕客戶端的訪問(設定security = share不是允許遊客訪問,只有guest ok = yes才是允許遊客訪問,切記!!!)。

valid users = user(@group)

設定能夠使用該共享服務的使用者和組,其值的格式與user選項一樣。

invalid users = user(@group)

設定不能夠使用該共享服務的使用者和組,其值的格式與user選項一樣。

read list = user(@group)

設定對該共享服務只有讀取許可權的使用者和組,其值的格式與user選項一樣。

write list = user(@group)

設定對該共享服務擁有讀寫許可權的使用者和組,其值的格式與user選項一樣。

admin list = user(@group)

設定對該共享服務擁有管理許可權的使用者和組,其值的格式與user選項一樣。

public = yes | no

設定該共享服務是否能夠被遊客訪問,其同義選項有guest ok。

create mode = mode

mode為八進位制值,如0755,其預設值為0744。該選項指定的值用於過濾新建檔案的訪問許可權,新建檔案的預設許可權將與create mode指定的值進行按位與操作,將結果再與force create mode指定的值進行按位或操作,得到的結果即為新建檔案的訪問許可權。

force create mode = mode

mode為八進位制值,預設為0000。其作用參考選項create mode。

directory mode = mode

mode為八進位制值,預設為0755。該選項指定的值用於過濾新建目錄的訪問許可權,新建目錄的預設許可權將與directory mode指定的值進行按位與操作,將結果再與force directory mode指定的值進行按位或操作,得到的結果即為新建目錄的訪問許可權。

force directory mode = mode

mode為八進位制值,預設為0000。該選項的作用參考選項directory mode。

force user = user

強制設定新建檔案的屬性onwer。若存在一個目錄,其允許guest可以寫,則guest就可以刪除。但設定force user為其他使用者,並設定create mode = 0755,則gues使用者不能夠刪除其新建檔案。