Samba 安裝與配置,以及配置說明參數(shù)詳解

1. 安裝

sudo apt-get install samba samba-client

2. 無密碼共享:

mkdir -p /home/default/share/drv

每添加一個(gè)目錄都要修改權(quán)限屬性

chmod 755 /home/default/share/drv
sudo vim /etc/samba/smb.conf 在最后面添加:

security = share

[share]
path = /home/default/share/drv
available = yes
browsealbe = yes
public = yes
guest ok = yes
writable = yes
  create mask = 0664
directory mask = 0664
force user = default

  • default 為ubuntu主機(jī)名稱,可以改為root但共享文件有個(gè)“鎖"
sudo /etc/init.d/samba restart

在windows上就可以通過"運(yùn)行(微軟標(biāo)志 + r)" \ubuntu主機(jī)ip

附錄:

共享資源模塊

除[global]段外,其他所有段都可以看作是共享資源。段名是該共享資源的名字,而段里的參數(shù)是共享資源的屬性。只是有幾個(gè)段是特殊共享資源而以。
1、普通共享資源
[share]
(1)Comment=home directory //共享的注釋說明
(2)Path=/home/share //此項(xiàng)是定義共享資源的目錄路徑
(3)Browsable=yes | no //默認(rèn)是YES,即讓共享被客戶看到。僅當(dāng)不希望被客戶看到時(shí)才用到此項(xiàng)。
(4)Writable =yes |no // 是否允許客戶對(duì)共享資源有寫的權(quán)限,yes為允許寫,no為只讀。
(5)Read only = yes |no //是否只允許客戶對(duì)共享資源只讀。與writable正好相反。Yes,只為只讀,no只允許寫的權(quán)限。
(6)Read list= fred @guest //賦予后面定義的用戶或組對(duì)共享資源的只讀權(quán)限
(7)Write list=@admin //賦予后面定義的用戶或級(jí)對(duì)共享資源的寫權(quán)限。而不管 read only的參數(shù)是什么。即可以覆蓋前面定義的權(quán)限。如一個(gè)用戶同時(shí)存在于read list和write list中,則賦予寫的權(quán)限。
(8)Hosts allow //設(shè)定允許哪些用戶可以訪問此共享資源
(9)Hosts deny //設(shè)定拒絕哪些用戶可以訪問此共享資源。 如果全局中定議了allows或deny參數(shù),將以全局中定義的為準(zhǔn),此處無效。
(10)Guest only = yes //只允許用guest帳號(hào)訪問
(11)Guest ok = yes //默認(rèn)值為NO ,即設(shè)定在沒有提交帳號(hào)和口令的情況下,是否允許訪問此區(qū)段中定義的共享資源。如同意guest帳號(hào)訪問時(shí),設(shè)為YES。 即是否允許匿名訪問。
(12)Guest account =pcguest //設(shè)置guest帳號(hào)的名稱。通常為pcguest,在區(qū)段中設(shè)置的guest帳號(hào)覆蓋全局中設(shè)置的.
(13)Admin users= root,fred //設(shè)定擁有共享管理特權(quán)的用戶。即這些用戶擁有些共享資源的管理權(quán)限。 @開頭則表示一個(gè)組, +開頭表示為UNIX組, &開頭表示為NIS組。
(14)Invalid users=root //設(shè)定不允許訪問此共享資源的用戶或組。
(15)Valid users =root //設(shè)定僅允許指定的用戶或組訪問此共享資源,其他所有用戶都不能訪問。
(16)Max connections =10 //設(shè)置此共享資源的最大連接數(shù)。此例為10個(gè)用戶。

以上設(shè)置類似于WINDOWS共享資料夾的共享權(quán)限,下面還要以定義如WINDOWS下的安全權(quán)限的參數(shù)。

(17) create mode 和create mask
Create mode=0664 //定義用戶在此共享資源中創(chuàng)建的文件的權(quán)限。 此例中為:擁有者和擁有者組有讀和寫的權(quán)限,而其他用戶僅為讀的權(quán)限。
(18)directory mode 和directory mask
Directory mode =0775 //在共享文檔中創(chuàng)建的文件夾的權(quán)限。 此例為擁有者和組有讀寫執(zhí)行的權(quán)限,其他用戶只有讀和執(zhí)行的權(quán)限。
(19)force create mode =0755 //即強(qiáng)制性規(guī)定在共熟文檔下創(chuàng)建的文件至少擁有755的權(quán)限。即最低權(quán)限的設(shè)定。可以覆蓋 create mode 設(shè)定的權(quán)限。當(dāng)create mode中的權(quán)限與此處設(shè)定的權(quán)限相沖突時(shí),取兩者中權(quán)限高的。如果此處設(shè)定的權(quán)限比較低,而create mode中設(shè)定的權(quán)限比較高(假如為777),將以create mode中定義的777權(quán)限為準(zhǔn)。
(20) force directory mode =775 //此項(xiàng)與上面的意思一樣,只是此處定義的是創(chuàng)建文件夾的最低權(quán)限。
(21)force group 和force user //規(guī)定創(chuàng)建的文件或文件夾的擁有者和組擁有者是誰 。一般這兩個(gè)值來空,則表示擁有者和組擁有者為創(chuàng)建文件者。 如設(shè)定值,如force group=khp
Force user=khp,則不管是誰創(chuàng)建的文件和文件夾,擁有者都為khp和khp組。
(22)public = yes //是否允許匿名訪問

配置文件常用參數(shù)詳解

Samba的主配置文件叫smb.conf,默認(rèn)在/etc/samba/目錄下。
smb.conf含有多個(gè)段,每個(gè)段由段名開始,直到下個(gè)段名。每個(gè)段名放在方括號(hào)中間。每段的參數(shù)的格式是:名稱=指。配置文件中一行一個(gè)段名和參數(shù),段名和參數(shù)名不分大小寫。
除了[global]段外,所有的段都可以看作是一個(gè)共享資源。段名是該共享資源的名字,段里的參數(shù)是該共享資源的屬性。
Samba安裝好后,使用testparm命令可以測(cè)試smb.conf配置是否正確。使用testparm –v命令可以詳細(xì)的列出smb.conf支持的配置參數(shù)。

全局參數(shù):

==================Global Settings ===================
[global]
 
config file = /usr/local/samba/lib/smb.conf.%m
說明:config file可以讓你使用另一個(gè)配置文件來覆蓋缺省的配置文件。如果文件 不存在,則該項(xiàng)無效。這個(gè)參數(shù)很有用,可以使得samba配置更靈活,可以讓一臺(tái)samba服務(wù)器模擬多臺(tái)不同配置的服務(wù)器。比如,你想讓PC1(主機(jī)名)這臺(tái)電腦在訪問Samba Server時(shí)使用它自己的配置文件,那么先在/etc/samba/host/下為PC1配置一個(gè)名為smb.conf.pc1的文件,然后在smb.conf中加入:config file = /etc/samba/host/smb.conf.%m。這樣當(dāng)PC1請(qǐng)求連接Samba Server時(shí),smb.conf.%m就被替換成smb.conf.pc1。這樣,對(duì)于PC1來說,它所使用的Samba服務(wù)就是由smb.conf.pc1定義的,而其他機(jī)器訪問Samba Server則還是應(yīng)用smb.conf。
 
workgroup = WORKGROUP
說明:設(shè)定 Samba Server 所要加入的工作組或者域。
 
server string = Samba Server Version %v
說明:設(shè)定 Samba Server 的注釋,可以是任何字符串,也可以不填。宏%v表示顯示Samba的版本號(hào)。
 
netbios name = smbserver
說明:設(shè)置Samba Server的NetBIOS名稱。如果不填,則默認(rèn)會(huì)使用該服務(wù)器的DNS名稱的第一部分。netbios name和workgroup名字不要設(shè)置成一樣了。
 
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
說明:設(shè)置Samba Server監(jiān)聽哪些網(wǎng)卡,可以寫網(wǎng)卡名,也可以寫該網(wǎng)卡的IP地址。
 
hosts allow = 127. 192.168.1. 192.168.10.1
說明:表示允許連接到Samba Server的客戶端,多個(gè)參數(shù)以空格隔開。可以用一個(gè)IP表示,也可以用一個(gè)網(wǎng)段表示。hosts deny 與hosts allow 剛好相反。
例如:hosts allow=172.17.2.EXCEPT172.17.2.50
表示容許來自172.17.2.*.*的主機(jī)連接,但排除172.17.2.50
hosts allow=172.17.2.0/255.255.0.0
表示容許來自172.17.2.0/255.255.0.0子網(wǎng)中的所有主機(jī)連接
hosts allow=M1,M2
表示容許來自M1和M2兩臺(tái)計(jì)算機(jī)連接
hosts allow=@xq
表示容許來自XQ網(wǎng)域的所有計(jì)算機(jī)連接
 
max connections = 0
說明:max connections用來指定連接Samba Server的最大連接數(shù)目。如果超出連接數(shù)目,則新的連接請(qǐng)求將被拒絕。0表示不限制。
 
deadtime = 0
說明:deadtime用來設(shè)置斷掉一個(gè)沒有打開任何文件的連接的時(shí)間。單位是分鐘,0代表Samba Server不自動(dòng)切斷任何連接。
 
time server = yes/no
說明:time server用來設(shè)置讓nmdb成為windows客戶端的時(shí)間服務(wù)器。
 
log file = /var/log/samba/log.%m
說明:設(shè)置Samba Server日志文件的存儲(chǔ)位置以及日志文件名稱。在文件名后加個(gè)宏%m(主機(jī)名),表示對(duì)每臺(tái)訪問Samba Server的機(jī)器都單獨(dú)記錄一個(gè)日志文件。如果pc1、pc2訪問過Samba Server,就會(huì)在/var/log/samba目錄下留下log.pc1和log.pc2兩個(gè)日志文件。
 
max log size = 50
說明:設(shè)置Samba Server日志文件的最大容量,單位為kB,0代表不限制。
 
security = user
說明:設(shè)置用戶訪問Samba Server的驗(yàn)證方式,一共有四種驗(yàn)證方式。
1. share:用戶訪問Samba Server不需要提供用戶名和口令, 安全性能較低。
2. user:Samba Server共享目錄只能被授權(quán)的用戶訪問,由Samba Server負(fù)責(zé)檢查賬號(hào)和密碼的正確性。賬號(hào)和密碼要在本Samba Server中建立。
3. server:依靠其他Windows NT/2000或Samba Server來驗(yàn)證用戶的賬號(hào)和密碼,是一種代理驗(yàn)證。此種安全模式下,系統(tǒng)管理員可以把所有的Windows用戶和口令集中到一個(gè)NT系統(tǒng)上,使用Windows NT進(jìn)行Samba認(rèn)證, 遠(yuǎn)程服務(wù)器可以自動(dòng)認(rèn)證全部用戶和口令,如果認(rèn)證失敗,Samba將使用用戶級(jí)安全模式作為替代的方式。
4. domain:域安全級(jí)別,使用主域控制器(PDC)來完成認(rèn)證。
 
passdb backend = tdbsam
說明:passdb backend就是用戶后臺(tái)的意思。目前有三種后臺(tái):smbpasswd、tdbsam和ldapsam。sam應(yīng)該是security account manager(安全賬戶管理)的簡(jiǎn)寫。
1.smbpasswd:該方式是使用smb自己的工具smbpasswd來給系統(tǒng)用戶(真實(shí)
用戶或者虛擬用戶)設(shè)置一個(gè)Samba密碼,客戶端就用這個(gè)密碼來訪問Samba的資源。smbpasswd文件默認(rèn)在/etc/samba目錄下,不過有時(shí)候要手工建立該文件。
2.tdbsam:該方式則是使用一個(gè)數(shù)據(jù)庫文件來建立用戶數(shù)據(jù)庫。數(shù)據(jù)庫文件叫passdb.tdb,默認(rèn)在/etc/samba目錄下。passdb.tdb用戶數(shù)據(jù)庫可以使用smbpasswd –a來建立Samba用戶,不過要建立的Samba用戶必須先是系統(tǒng)用戶。我們也可以使用pdbedit命令來建立Samba賬戶。pdbedit命令的參數(shù)很多,我們列出幾個(gè)主要的。
pdbedit –a username:新建Samba賬戶。
pdbedit –x username:刪除Samba賬戶。
pdbedit –L:列出Samba用戶列表,讀取passdb.tdb數(shù)據(jù)庫文件。
pdbedit –Lv:列出Samba用戶列表的詳細(xì)信息。
pdbedit –c “[D]” –u username:暫停該Samba用戶的賬號(hào)。
pdbedit –c “[]” –u username:恢復(fù)該Samba用戶的賬號(hào)。
3.ldapsam:該方式則是基于LDAP的賬戶管理方式來驗(yàn)證用戶。首先要建立LDAP服務(wù),然后設(shè)置“passdb backend = ldapsam:ldap://LDAP Server”
 
encrypt passwords = yes/no
說明:是否將認(rèn)證密碼加密。因?yàn)楝F(xiàn)在windows操作系統(tǒng)都是使用加密密碼,所以一般要開啟此項(xiàng)。不過配置文件默認(rèn)已開啟。
 
smb passwd file = /etc/samba/smbpasswd
說明:用來定義samba用戶的密碼文件。smbpasswd文件如果沒有那就要手工新建。
 
username map = /etc/samba/smbusers
說明:用來定義用戶名映射,比如可以將root換成administrator、admin等。不過要事先在smbusers文件中定義好。比如:root = administrator admin,這樣就可以用administrator或admin這兩個(gè)用戶來代替root登陸Samba Server,更貼近windows用戶的習(xí)慣。
 
guest account = nobody
說明:用來設(shè)置guest用戶名。
 
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
說明:用來設(shè)置服務(wù)器和客戶端之間會(huì)話的Socket選項(xiàng),可以優(yōu)化傳輸速度。
 
domain master = yes/no
說明:設(shè)置Samba服務(wù)器是否要成為網(wǎng)域主瀏覽器,網(wǎng)域主瀏覽器可以管理跨子網(wǎng)域的瀏覽服務(wù)。
 
local master = yes/no
說明:local master用來指定Samba Server是否試圖成為本地網(wǎng)域主瀏覽器。如果設(shè)為no,則永遠(yuǎn)不會(huì)成為本地網(wǎng)域主瀏覽器。但是即使設(shè)置為yes,也不等于該Samba Server就能成為主瀏覽器,還需要參加選舉。
 
preferred master = yes/no
說明:設(shè)置Samba Server一開機(jī)就強(qiáng)迫進(jìn)行主瀏覽器選舉,可以提高Samba Server成為本地網(wǎng)域主瀏覽器的機(jī)會(huì)。如果該參數(shù)指定為yes時(shí),最好把domain master也指定為yes。使用該參數(shù)時(shí)要注意:如果在本Samba Server所在的子網(wǎng)有其他的機(jī)器(不論是windows NT還是其他Samba Server)也指定為首要主瀏覽器時(shí),那么這些機(jī)器將會(huì)因?yàn)闋?zhēng)奪主瀏覽器而在網(wǎng)絡(luò)上大發(fā)廣播,影響網(wǎng)絡(luò)性能。
如果同一個(gè)區(qū)域內(nèi)有多臺(tái)Samba Server,將上面三個(gè)參數(shù)設(shè)定在一臺(tái)即可。
 
os level = 200
說明:設(shè)置samba服務(wù)器的os level。該參數(shù)決定Samba Server是否有機(jī)會(huì)成為本地網(wǎng)域的主瀏覽器。os level從0到255,winNT的os level是32,win95/98的os level是1。Windows 2000的os level是64。如果設(shè)置為0,則意味著Samba Server將失去瀏覽選擇。如果想讓Samba Server成為PDC,那么將它的os level值設(shè)大些。
 
domain logons = yes/no
說明:設(shè)置Samba Server是否要做為本地域控制器。主域控制器和備份域控制器都需要開啟此項(xiàng)。
 
logon . = %u.bat
說明:當(dāng)使用者用windows客戶端登陸,那么Samba將提供一個(gè)登陸檔。如果設(shè)置成%u.bat,那么就要為每個(gè)用戶提供一個(gè)登陸檔。如果人比較多,那就比較麻煩。可以設(shè)置成一個(gè)具體的文件名,比如start.bat,那么用戶登陸后都會(huì)去執(zhí)行start.bat,而不用為每個(gè)用戶設(shè)定一個(gè)登陸檔了。這個(gè)文件要放置在[netlogon]的path設(shè)置的目錄路徑下。
 
wins support = yes/no
說明:設(shè)置samba服務(wù)器是否提供wins服務(wù)。
 
wins server = wins服務(wù)器IP地址
說明:設(shè)置Samba Server是否使用別的wins服務(wù)器提供wins服務(wù)。
 
wins proxy = yes/no
說明:設(shè)置Samba Server是否開啟wins代理服務(wù)。
 
dns proxy = yes/no
說明:設(shè)置Samba Server是否開啟dns代理服務(wù)。
 
load printers = yes/no
說明:設(shè)置是否在啟動(dòng)Samba時(shí)就共享打印機(jī)。
 
printcap name = cups
說明:設(shè)置共享打印機(jī)的配置文件。
 
printing = cups
說明:設(shè)置Samba共享打印機(jī)的類型。現(xiàn)在支持的打印系統(tǒng)有:bsd, sysv, plp, lprng, aix, hpux, qnx
 
共享參數(shù):
================== Share Definitions ==================
[共享名]
 
comment = 任意字符串
說明:comment是對(duì)該共享的描述,可以是任意字符串。
 
path = 共享目錄路徑
說明:path用來指定共享目錄的路徑。可以用%u、%m這樣的宏來代替路徑里的unix用戶和客戶機(jī)的Netbios名,用宏表示主要用于[homes]共享域。例如:如果我們不打算用home段做為客戶的共享,而是在/home/share/下為每個(gè)Linux用戶以他的用戶名建個(gè)目錄,作為他的共享目錄,這樣path就可以寫成:path = /home/share/%u; 。用戶在連接到這共享時(shí)具體的路徑會(huì)被他的用戶名代替,要注意這個(gè)用戶名路徑一定要存在,否則,客戶機(jī)在訪問時(shí)會(huì)找不到網(wǎng)絡(luò)路徑。同樣,如果我們不是以用戶來劃分目錄,而是以客戶機(jī)來劃分目錄,為網(wǎng)絡(luò)上每臺(tái)可以訪問samba的機(jī)器都各自建個(gè)以它的netbios名的路徑,作為不同機(jī)器的共享資源,就可以這樣寫:path = /home/share/%m 。
 
browseable = yes/no
說明:browseable用來指定該共享是否可以瀏覽。
 
writable = yes/no
說明:writable用來指定該共享路徑是否可寫。
 
available = yes/no
說明:available用來指定該共享資源是否可用。
 
admin users = 該共享的管理者
說明:admin users用來指定該共享的管理員(對(duì)該共享具有完全控制權(quán)限)。在samba 3.0中,如果用戶驗(yàn)證方式設(shè)置成“security=share”時(shí),此項(xiàng)無效。
例如:admin users =bobyuan,jane(多個(gè)用戶中間用逗號(hào)隔開)。
 
valid users = 允許訪問該共享的用戶
說明:valid users用來指定允許訪問該共享資源的用戶。
例如:valid users = bobyuan,@bob,@tech(多個(gè)用戶或者組中間用逗號(hào)隔開,如果要加入一個(gè)組就用“@+組名”表示。)
 
invalid users = 禁止訪問該共享的用戶
說明:invalid users用來指定不允許訪問該共享資源的用戶。
例如:invalid users = root,@bob(多個(gè)用戶或者組中間用逗號(hào)隔開。)
 
write list = 允許寫入該共享的用戶
說明:write list用來指定可以在該共享下寫入文件的用戶。
例如:write list = bobyuan,@bob
 
public = yes/no
說明:public用來指定該共享是否允許guest賬戶訪問。
 
guest ok = yes/no
說明:意義同“public”。
 
幾個(gè)特殊共享:
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
; valid users = MYDOMAIN\%S
 
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
 
[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
guest ok = yes
writable = no
share modes = no
 
[Profiles]
path = /var/lib/samba/profiles
browseable = no
guest ok = yes

參考文獻(xiàn):

samba簡(jiǎn)單配置:http://yuanbin.blog.51cto.com/363003/115761

Samba配置文件常用參數(shù)詳解:http://yuanbin.blog.51cto.com/363003/115761/

博客同步:http://www.bennyxu.com/index.php/archives/384/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容