1. Samba簡(jiǎn)介
Samba是在Linux和UNIX系統(tǒng)上實(shí)現(xiàn)SMB協(xié)議的一個(gè)免費(fèi)軟件讶隐,由服務(wù)器及客戶端程序構(gòu)成诺苹。SMB(Server Messages Block,信息服務(wù)塊)是一種在局域網(wǎng)上共享文件和打印機(jī)的一種通信協(xié)議,它為局域網(wǎng)內(nèi)的不同計(jì)算機(jī)之間提供文件及打印機(jī)等資源的共享服務(wù)驶赏。SMB協(xié)議是客戶機(jī)/服務(wù)器型協(xié)議耕驰,客戶機(jī)通過(guò)該協(xié)議可以訪問服務(wù)器上的共享文件系統(tǒng)爷辱、打印機(jī)及其他資源。通過(guò)設(shè)置“NetBIOS over TCP/IP”使得Samba不但能與局域網(wǎng)絡(luò)主機(jī)分享資源,還能與全世界的電腦分享資源饭弓。
Samba最大的功能就是可以用于Linux與windows系統(tǒng)直接的文件共享和打印共享双饥,Samba既可以用于windows與Linux之間的文件共享,也可以用于Linux與Linux之間的資源共享弟断。
Samba由兩個(gè)主要程序組成咏花,它們是smbd
和nmbd
。這兩個(gè)守護(hù)進(jìn)程在服務(wù)器啟動(dòng)到停止期間持續(xù)運(yùn)行阀趴,功能各異昏翰。Smbd
和nmbd
使用的全部配置信息全都保存在smb.conf文件中。Smb.conf向smbd和nmbd兩個(gè)守護(hù)進(jìn)程說(shuō)明輸出什么以便共享刘急,共享輸出給誰(shuí)及如何進(jìn)行輸出棚菊。
Samba提供了基于CIFS的四個(gè)服務(wù):文件和打印服務(wù)、授權(quán)與被授權(quán)排霉、名稱解析窍株、瀏覽服務(wù)。前兩項(xiàng)服務(wù)由smbd
提供攻柠,后兩項(xiàng)服務(wù)則由nmbd
提供球订。 簡(jiǎn)單地說(shuō),smbd
進(jìn)程的作用是處理到來(lái)的SMB軟件包瑰钮,為使用該軟件包的資源與Linux進(jìn)行協(xié)商冒滩,nmbd
進(jìn)程使主機(jī)(或工作站)能瀏覽Linux服務(wù)器。
2. Samba安裝與配置
2.1 Samba安裝與查看
-
安裝samba應(yīng)用
yum -y install samba samba-client
-
啟動(dòng)Samba應(yīng)用
systemctl start smb nmb
-
查看Samba服務(wù)進(jìn)程
[root@NetTrade-File-Server ~]# ps -ef | grep -E 'smb|nmb' root 9885 1 0 14:48 ? 00:00:00 /usr/sbin/nmbd root 9887 1 0 14:48 ? 00:00:00 /usr/sbin/smbd root 9888 9887 0 14:48 ? 00:00:00 /usr/sbin/smbd root 9889 9887 0 14:48 ? 00:00:00 /usr/sbin/smbd root 9890 9887 0 14:48 ? 00:00:00 /usr/sbin/smbd root 9959 9627 0 15:02 pts/0 00:00:00 grep --color=auto -E smb|nmb
-
查看Samba應(yīng)用服務(wù)端口
smbd應(yīng)用進(jìn)程主要監(jiān)聽139和445端口浪谴, nmbd應(yīng)用進(jìn)程主要監(jiān)聽137與138端口开睡。
[root@NetTrade-File-Server ~]# netstat -tunlp | grep -E 'smbd|nmbd' tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 9887/smbd tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 9887/smbd tcp6 0 0 :::139 :::* LISTEN 9887/smbd tcp6 0 0 :::445 :::* LISTEN 9887/smbd udp 0 0 192.168.6.255:137 0.0.0.0:* 9885/nmbd udp 0 0 192.168.6.186:137 0.0.0.0:* 9885/nmbd udp 0 0 0.0.0.0:137 0.0.0.0:* 9885/nmbd udp 0 0 192.168.6.255:138 0.0.0.0:* 9885/nmbd udp 0 0 192.168.6.186:138 0.0.0.0:* 9885/nmbd udp 0 0 0.0.0.0:138 0.0.0.0:* 9885/nmbd
2.2 Samba服務(wù)配置介紹
1. 查看Samba配置文件
samba文件共享默認(rèn)配置文件存放于/etc/samba/smb.conf
下, 用于配置Samba服務(wù)內(nèi)容苟耻。
cat /etc/samba/smb.conf
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = root
create mask = 0664
directory mask = 0775
2. Samba配置文件詳解
-
全局參數(shù) [global]
config file = /usr/local/samba/lib/smb.conf.%m
說(shuō)明:config file可以讓你使用另一個(gè)配置文件來(lái)覆蓋缺省的配置文件篇恒。如果文件 不存在,則該項(xiàng)無(wú)效凶杖。這個(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來(lái)說(shuō)于宙,它所使用的Samba服務(wù)就是由smb.conf.pc1定義的,而其他機(jī)器訪問Samba Server則還是應(yīng)用smb.conf艰匙。workgroup = WORKGROUP
說(shuō)明:設(shè)定 Samba Server 所要加入的工作組或者域限煞。server string = Samba Server Version %v
說(shuō)明:設(shè)定 Samba Server 的注釋,可以是任何字符串员凝,也可以不填署驻。宏%v表示顯示Samba的版本號(hào)。netbios name = smbserver
說(shuō)明:設(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
說(shuō)明:設(shè)置Samba Server監(jiān)聽哪些網(wǎng)卡宣吱,可以寫網(wǎng)卡名,也可以寫該網(wǎng)卡的IP地址瞳别。-
hosts allow = 127. 192.168.1. 192.168.10.1
說(shuō)明:表示允許連接到Samba Server的客戶端征候,多個(gè)參數(shù)以空格隔開∷盍玻可以用一個(gè)IP表示疤坝,也可以用一個(gè)網(wǎng)段表示。hosts deny 與hosts allow 剛好相反馆铁。例如:
# 表示容許來(lái)自172.17.2.*.*的主機(jī)連接跑揉,但排除172.17.2.50 hosts allow=172.17.2.EXCEPT172.17.2.50 # 表示容許來(lái)自172.17.2.0/255.255.0.0子網(wǎng)中的所有主機(jī)連接 hosts allow=172.17.2.0/255.255.0.0 # 表示容許來(lái)自M1和M2兩臺(tái)計(jì)算機(jī)連接 hosts allow=M1,M2 # 表示容許來(lái)自SC域的所有計(jì)算機(jī)連接 hosts allow=@SC
max connections = 0
說(shuō)明:max connections用來(lái)指定連接Samba Server的最大連接數(shù)目埠巨。如果超出連接數(shù)目历谍,則新的連接請(qǐng)求將被拒絕。0表示不限制辣垒。deadtime = 0
說(shuō)明:deadtime用來(lái)設(shè)置斷掉一個(gè)沒有打開任何文件的連接的時(shí)間望侈。單位是分鐘,0代表Samba Server不自動(dòng)切斷任何連接勋桶。time server = yes/no
說(shuō)明:time server用來(lái)設(shè)置讓nmdb成為windows客戶端的時(shí)間服務(wù)器脱衙。log file = /var/log/samba/log.%m
說(shuō)明:設(shè)置Samba Server日志文件的存儲(chǔ)位置以及日志文件名稱。在文件名后加個(gè)宏%m(主機(jī)名)哥遮,表示對(duì)每臺(tái)訪問Samba Server的機(jī)器都單獨(dú)記錄一個(gè)日志文件。如果pc1陵究、pc2訪問過(guò)Samba Server眠饮,就會(huì)在/var/log/samba目錄下留下log.pc1和log.pc2兩個(gè)日志文件。max log size = 50
說(shuō)明:設(shè)置Samba Server日志文件的最大容量铜邮,單位為kB仪召,0代表不限制寨蹋。-
security = user
說(shuō)明:設(shè)置用戶訪問Samba Server的驗(yàn)證方式,一共有四種驗(yàn)證方式扔茅。- share:用戶訪問Samba Server不需要提供用戶名和口令, 安全性能較低已旧。
- user:Samba Server共享目錄只能被授權(quán)的用戶訪問,由Samba Server負(fù)責(zé)檢查賬號(hào)和密碼的正確性。賬號(hào)和密碼要在本Samba Server中建立召娜。
- server:依靠其他Windows NT/2000或Samba Server來(lái)驗(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í)安全模式作為替代的方式。
- domain:域安全級(jí)別,使用主域控制器(PDC)來(lái)完成認(rèn)證玖瘸。
-
passdb backend = tdbsam
說(shuō)明:passdb backend就是用戶后臺(tái)的意思秸讹。目前有三種后臺(tái):smbpasswd、tdbsam和ldapsam雅倒。sam應(yīng)該是security account manager(安全賬戶管理)的簡(jiǎn)寫璃诀。smbpasswd:該方式是使用smb自己的工具smbpasswd來(lái)給系統(tǒng)用戶(真實(shí)
用戶或者虛擬用戶)設(shè)置一個(gè)Samba密碼,客戶端就用這個(gè)密碼來(lái)訪問Samba的資源蔑匣。smbpasswd文件默認(rèn)在/etc/samba目錄下劣欢,不過(guò)有時(shí)候要手工建立該文件。-
tdbsam:該方式則是使用一個(gè)數(shù)據(jù)庫(kù)文件來(lái)建立用戶數(shù)據(jù)庫(kù)裁良。數(shù)據(jù)庫(kù)文件叫passdb.tdb凿将,默認(rèn)在/etc/samba目錄下。passdb.tdb用戶數(shù)據(jù)庫(kù)可以使用smbpasswd –a來(lái)建立Samba用戶趴久,不過(guò)要建立的Samba用戶必須先是系統(tǒng)用戶丸相。我們也可以使用pdbedit命令來(lái)建立Samba賬戶。pdbedit命令的參數(shù)很多彼棍,我們列出幾個(gè)主要的灭忠。
- pdbedit –a username:新建Samba賬戶。
- pdbedit –x username:刪除Samba賬戶座硕。
- pdbedit –L:列出Samba用戶列表弛作,讀取passdb.tdb數(shù)據(jù)庫(kù)文件。
- pdbedit –Lv:列出Samba用戶列表的詳細(xì)信息华匾。
- pdbedit –c “[D]” –u username:暫停該Samba用戶的賬號(hào)映琳。
- pdbedit –c “[]” –u username:恢復(fù)該Samba用戶的賬號(hào)。
ldapsam:該方式則是基于LDAP的賬戶管理方式來(lái)驗(yàn)證用戶蜘拉。首先要建立LDAP服務(wù)萨西,然后設(shè)置“passdb backend = ldapsam:ldap://LDAP Server”
encrypt passwords = yes/no
說(shuō)明:是否將認(rèn)證密碼加密。因?yàn)楝F(xiàn)在windows操作系統(tǒng)都是使用加密密碼旭旭,所以一般要開啟此項(xiàng)谎脯。不過(guò)配置文件默認(rèn)已開啟。smb passwd file = /etc/samba/smbpasswd
說(shuō)明:用來(lái)定義samba用戶的密碼文件持寄。smbpasswd文件如果沒有那就要手工新建源梭。username map = /etc/samba/smbusers
說(shuō)明:用來(lái)定義用戶名映射娱俺,比如可以將root換成administrator、admin等废麻。不過(guò)要事先在smbusers文件中定義好荠卷。比如:root = administrator admin,這樣就可以用administrator或admin這兩個(gè)用戶來(lái)代替root登陸Samba Server烛愧,更貼近windows用戶的習(xí)慣油宜。guest account = nobody
說(shuō)明:用來(lái)設(shè)置guest用戶名。socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
說(shuō)明:用來(lái)設(shè)置服務(wù)器和客戶端之間會(huì)話的Socket選項(xiàng)屑彻,可以優(yōu)化傳輸速度验庙。domain master = yes/no
說(shuō)明:設(shè)置Samba服務(wù)器是否要成為網(wǎng)域主瀏覽器,網(wǎng)域主瀏覽器可以管理跨子網(wǎng)域的瀏覽服務(wù)社牲。local master = yes/no
說(shuō)明:local master用來(lái)指定Samba Server是否試圖成為本地網(wǎng)域主瀏覽器粪薛。如果設(shè)為no,則永遠(yuǎn)不會(huì)成為本地網(wǎng)域主瀏覽器搏恤。但是即使設(shè)置為yes违寿,也不等于該Samba Server就能成為主瀏覽器,還需要參加選舉熟空。preferred master = yes/no
說(shuō)明:設(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
說(shuō)明:設(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
說(shuō)明:設(shè)置Samba Server是否要做為本地域控制器。主域控制器和備份域控制器都需要開啟此項(xiàng)诽偷。logon . = %u.bat
說(shuō)明:當(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
說(shuō)明:設(shè)置samba服務(wù)器是否提供wins服務(wù)忿等。wins server = wins服務(wù)器IP地址
說(shuō)明:設(shè)置Samba Server是否使用別的wins服務(wù)器提供wins服務(wù)。wins proxy = yes/no
說(shuō)明:設(shè)置Samba Server是否開啟wins代理服務(wù)崔挖。dns proxy = yes/no
說(shuō)明:設(shè)置Samba Server是否開啟dns代理服務(wù)贸街。load printers = yes/no
說(shuō)明:設(shè)置是否在啟動(dòng)Samba時(shí)就共享打印機(jī)。printcap name = cups
說(shuō)明:設(shè)置共享打印機(jī)的配置文件狸相。printing = cups
說(shuō)明:設(shè)置Samba共享打印機(jī)的類型⊙Ψ耍現(xiàn)在支持的打印系統(tǒng)有:bsd, sysv, plp, lprng, aix, hpux, qnx
-
共享參數(shù) [共享名]:
comment = 任意字符串
說(shuō)明:comment是對(duì)該共享的描述,可以是任意字符串脓鹃。path = 共享目錄路徑
說(shuō)明:path用來(lái)指定共享目錄的路徑逸尖。可以用%u瘸右、%m這樣的宏來(lái)代替路徑里的unix用戶和客戶機(jī)的Netbios名娇跟,用宏表示主要用于[homes]共享域。例如:如果我們不打算用home段做為客戶的共享尊浓,而是在/home/share/下為每個(gè)Linux用戶以他的用戶名建個(gè)目錄逞频,作為他的共享目錄,這樣path就可以寫成:path = /home/share/%u; 栋齿。用戶在連接到這共享時(shí)具體的路徑會(huì)被他的用戶名代替苗胀,要注意這個(gè)用戶名路徑一定要存在,否則瓦堵,客戶機(jī)在訪問時(shí)會(huì)找不到網(wǎng)絡(luò)路徑基协。同樣,如果我們不是以用戶來(lái)劃分目錄菇用,而是以客戶機(jī)來(lái)劃分目錄澜驮,為網(wǎng)絡(luò)上每臺(tái)可以訪問samba的機(jī)器都各自建個(gè)以它的netbios名的路徑,作為不同機(jī)器的共享資源惋鸥,就可以這樣寫:path = /home/share/%m 杂穷。browseable = yes/no
說(shuō)明:browseable用來(lái)指定該共享是否可以瀏覽悍缠。writable = yes/no
說(shuō)明:writable用來(lái)指定該共享路徑是否可寫。available = yes/no
說(shuō)明:available用來(lái)指定該共享資源是否可用耐量。admin users = 該共享的管理者
說(shuō)明:admin users用來(lái)指定該共享的管理員(對(duì)該共享具有完全控制權(quán)限)飞蚓。在samba 3.0中,如果用戶驗(yàn)證方式設(shè)置成“security=share”時(shí)廊蜒,此項(xiàng)無(wú)效趴拧。
例如:admin users =bobyuan,jane(多個(gè)用戶中間用逗號(hào)隔開)山叮。valid users = 允許訪問該共享的用戶
說(shuō)明:valid users用來(lái)指定允許訪問該共享資源的用戶著榴。
例如:valid users = bobyuan,@bob屁倔,@tech(多個(gè)用戶或者組中間用逗號(hào)隔開脑又,如果要加入一個(gè)組就用“@+組名”表示。)invalid users = 禁止訪問該共享的用戶
說(shuō)明:invalid users用來(lái)指定不允許訪問該共享資源的用戶锐借。
例如:invalid users = root挂谍,@bob(多個(gè)用戶或者組中間用逗號(hào)隔開。)write list = 允許寫入該共享的用戶
說(shuō)明:write list用來(lái)指定可以在該共享下寫入文件的用戶瞎饲。
例如:write list = bobyuan口叙,@bobpublic = yes/no
說(shuō)明:public用來(lái)指定該共享是否允許guest賬戶訪問。guest ok = yes/no
說(shuō)明:意義同“public”嗅战。
2.3 配置Samba服務(wù)
-
服務(wù)規(guī)劃
- 系統(tǒng)分區(qū)時(shí)妄田,單獨(dú)劃分一個(gè)
/storage
的分區(qū),分區(qū)下有l(wèi)ogger和shared兩個(gè)文件夾; - logger文件夾
/storage/logger
下對(duì)應(yīng)的管理員賬號(hào)為logadmin
驮捍,用戶賬號(hào)為loguser
; - shared文件夾
/storage/shared
下對(duì)應(yīng)的管理員賬號(hào)為admin
疟呐,用戶賬戶號(hào)為shared
;
- 系統(tǒng)分區(qū)時(shí)妄田,單獨(dú)劃分一個(gè)
-
創(chuàng)建文件夾和用戶
-
創(chuàng)建文件夾
# 創(chuàng)建文件夾 [root@NetTrade-File-Server storage]# cd /storage [root@NetTrade-File-Server storage]# mkdir logger shared [root@NetTrade-File-Server storage]# ls total 0 drwxr-xr-x. 2 root root 6 Aug 3 10:12 logger drwxr-xr-x. 2 root root 6 Aug 3 10:12 shared
-
創(chuàng)建用戶
# 創(chuàng)建用戶 [root@NetTrade-File-Server storage]# useradd -s /sbin/nologin logadmin [root@NetTrade-File-Server storage]# useradd -s /sbin/nologin admin [root@NetTrade-File-Server storage]# useradd -g admin -s /sbin/nologin shared [root@NetTrade-File-Server storage]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt nobody:x:99:99:Nobody:/:/sbin/nologin systemd-bus-proxy:x:999:998:systemd Bus Proxy:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:998:997:User for polkitd:/:/sbin/nologin tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin logadmin:x:1000:1000::/home/logadmin:/sbin/nologin loguser:x:1001:1000::/home/loguser:/sbin/nologin admin:x:1002:1002::/home/admin:/sbin/nologin shared:x:1003:1002::/home/shared:/sbin/nologin [root@NetTrade-File-Server storage]#
-
建立Samba用戶
[root@NetTrade-File-Server storage]# smbpasswd -a logadmin New SMB password: Retype new SMB password: Added user logadmin. [root@NetTrade-File-Server storage]# smbpasswd -a loguser New SMB password: Retype new SMB password: Added user loguser. [root@NetTrade-File-Server storage]# smbpasswd -a admin New SMB password: Retype new SMB password: Added user admin. [root@NetTrade-File-Server storage]# smbpasswd -a shared New SMB password: Retype new SMB password: Added user shared.
-
更改目錄屬性
[root@NetTrade-File-Server storage]# chown logadmin.logadmin logger [root@NetTrade-File-Server storage]# chown admin.admin shared [root@NetTrade-File-Server storage]# chmod -R 777 logger [root@NetTrade-File-Server storage]# chmod -R 777 shared [root@NetTrade-File-Server storage]#
-
-
配置Samba服務(wù)
[root@NetTrade-File-Server storage]# vi /etc/samba/smb.conf [global] workgroup = SC.LOCAL server string = Samba Server Version %v netbios name = NetTrade-File-Server log file = /var/log/samba/%m.log max log size = 10240 security = user passdb backend = tdbsam [logger] comment = Logs Directories path = /storage/logger/ public = no admin users = logadmin valid users = @logadmin browseable = yes writable = yes create mask = 0777 directory mask = 0777 force directory mode = 0777 force create mode = 0777 [shared] # 共享文件目錄描述 comment = Shared Directories # 共享文件目錄 path = /storage/shared/ # 是否允許guest訪問 public = no # 指定管理用戶 admin users = admin # 可訪問的用戶組、用戶 valid users = @admin # 是否瀏覽權(quán)限 browseable = yes # 是否可寫權(quán)限 writable = yes # 文件權(quán)限設(shè)置 create mask = 0777 directory mask = 0777 force directory mode = 0777 force create mode = 0777
修改完Samba配置文件后东且,需要重啟Samba服務(wù)配置才能生效启具。
-
測(cè)試Samba服務(wù)
-
訪問Samba服務(wù)
使用Windows客戶機(jī)通過(guò)UNC路徑訪問Samba服務(wù), 如:
\\192.168.6.186
, 此時(shí)會(huì)提示輸入用戶名和密碼(在第2步中創(chuàng)建的用戶和密碼珊泳,如logadmin
等)鲁冯。
-
-
測(cè)試創(chuàng)建文件
拷貝客戶機(jī)文件到Samba共享文件夾下, 測(cè)試文件拷貝是否成功色查。
將文件
book.txt
拷貝到Samba共享文件夾logger
下薯演, 查看文件是否成功拷貝。
3. 錯(cuò)誤處理
-
如果拷貝文件時(shí)出現(xiàn)
目標(biāo)文件夾訪問被拒絕
錯(cuò)誤秧了,如下圖所示跨扮。此時(shí)需要檢查一下Samba服務(wù)器的Selinux和防火墻配置,確認(rèn)一下Selinux是否關(guān)閉,同時(shí)確認(rèn)一下防火墻是否已經(jīng)打開了Samba服務(wù)端口(與Samba服務(wù)相關(guān)的端口有137衡创、138帝嗡、139和445
)。 最后確認(rèn)一下Samba提供的共享文件夾是否具有讀寫權(quán)限璃氢,具體可以參考第2步和第3步配置(目錄屬性和Samba服務(wù)配置)丈探。 -
當(dāng)我們要進(jìn)入不同的samba目錄,如:進(jìn)入
shared
共享文件夾拔莱,但是這些目錄都有自己的密碼設(shè)置時(shí),如果我們?cè)邳c(diǎn)擊這個(gè)目錄時(shí)輸入訪問該目錄的用戶名和密碼時(shí)隘竭,會(huì)提示“不允許一個(gè)用戶使用一個(gè)以上用戶名與服務(wù)器或共享資源的多重連接塘秦。中斷與此服務(wù)器或共享資源的所有連接,然后再試一次动看。”出現(xiàn)此問題是windows自身的限制尊剔,通常我們會(huì)注銷當(dāng)前windows用戶,然后再重新登陸samba來(lái)訪問其他目錄菱皆。此時(shí)须误,我們可以打開命令行界面,輸入
net use * /del /y
命令來(lái)切掉本機(jī)當(dāng)前的所有遠(yuǎn)程共享文件信息仇轻,然后點(diǎn)擊其他目錄輸入該目錄具有訪問權(quán)限的用戶名和密碼即可正常訪問了京痢。