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ī)通過該協(xié)議可以訪問服務(wù)器上的共享文件系統(tǒng)、打印機(jī)及其他資源。通過設(shè)置“NetBIOS over TCP/IP”使得Samba不但能與局域網(wǎng)絡(luò)主機(jī)分享資源,還能與全世界的電腦分享資源。
1.背景:
根據(jù)公司的信息化建設(shè)要求,需要在局域網(wǎng)內(nèi)網(wǎng)搭建一臺(tái)文件服務(wù)器,便于對(duì)數(shù)據(jù)的管理以及備份。
服務(wù)器選型:centos7(本次測(cè)試選用VM安裝centos7)
服務(wù)器IP地址:192.168.1.111
文件存放位置:/var/share/public(存放公共數(shù)據(jù))
/var/share/date(存放開發(fā)數(shù)據(jù))
/var/share/training(存放培訓(xùn)資料)
- 用戶描述:
- root:管理員admin
- 組:
- technology 技術(shù)部門
- g-staff 普通用戶
- 技術(shù)部門成員:
- xiaowang
- xiaohan
- 普通員工:
- xioamei
2.配置服務(wù)器的環(huán)境
- 配置ip
- 配置yum源 #注意使用網(wǎng)絡(luò)yum源(centos7本地yum源無法安裝samba客戶端)
- 關(guān)閉iptables和selinux
- VM 選擇橋接模式
3.samba服務(wù)的組成
- samba是C/S(客戶端/服務(wù)器)架構(gòu),監(jiān)聽TCP/139及TCP/445(由smbd程序監(jiān)聽),監(jiān)聽UDP/137和UDP/138(由nmbd程序監(jiān)聽);
- samba項(xiàng)目的軟件包samba(主程序)、samba-common(通用程序)、samba-client(客戶端程序);
- smaba主配置文件是/etc/samba/smb.conf
4.部署samba服務(wù)
1)部署流程
- 安裝
- 創(chuàng)建用戶
- 修改配置文件
- 啟動(dòng)、測(cè)試、上線
- 修該VM服務(wù)器網(wǎng)絡(luò)模式為僅主機(jī)
2)安裝
yum -y install samba samba-client ##本次使用yum安裝
3)查看samba相關(guān)軟件
[root@localhost ~]# rpm -qa | grep samba
samba-client-4.8.3-4.el7.x86_64
samba-common-libs-4.8.3-4.el7.x86_64
samba-libs-4.8.3-4.el7.x86_64
samba-4.8.3-4.el7.x86_64
samba-client-libs-4.8.3-4.el7.x86_64
samba-common-tools-4.8.3-4.el7.x86_64
samba-common-4.8.3-4.el7.noarch
4)創(chuàng)建測(cè)試用戶組及用戶
useradd xiaowang
useradd xiaoming
useradd xiaohan
useradd xiaomei
groupadd technology
gpasswd -a xiaoming technology
gpasswd -a xiaohan technology
groupadd g-staff
gpasswd -a xiaomei g-staff
5)添加smb用戶
pdbedit -a root
pdbedit -a xiaowang
pdbedit -a xiaohan
pdbedit -a xiaomei
6)查看smb用戶
pabedit -L
7)修改配置文件/etc/samba/smb.conf
cp /etc/samba/smb.conf /opt/back/
vim /etc/samba/smb.conf
:g/^#/d ###命令行模式刪除掉所有注釋行
:g/^$/d ###刪除所有空行
$bash vim /etc/samba/smb.conf
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
passdb backend = tdbsam
load printers = yes
cups options = raw
username map = /etc/samba/smbusers
[public]
comment = public
path = /var/share/public
public = no
writable = no
write list = root
admin users = root
[peixun]
comment = peixun
path = /var/share/training
public = no
readonly = no
valid users = @root @technology
[kaifa]
comment = kaifa
path = /var/share/devel
public = no
readonly = no
valid users = @root @technology
samba配置文件詳解
Samba配置文件詳細(xì)分析
vim /etc/samba/smb.conf
[global] #定義全局策略
workgroup = MYGROUP #定義工作組
server string = Samba Server Version %v #服務(wù)器提示字符,默認(rèn)顯示samba版本
log file = /var/log/samba/log.%m #定義日志文件
max log size = 50 #定義日志文件單個(gè)文件最大容量為50KB
security = user #security選項(xiàng)將會(huì)影響客戶端訪問方式 #可以設(shè)置user、share、server、domain。User代表用戶名和密碼驗(yàn)證;share代表匿名訪問;server代表基于驗(yàn)證身份的訪問,賬戶信息在另一臺(tái)SMB服務(wù)器上;domain:同樣基于驗(yàn)證身份驗(yàn)證,賬戶信息在活動(dòng)目錄中
passdb backend = tdbsam #賬戶與密碼存儲(chǔ)方式,smbpasswd使用老的明文格式存儲(chǔ)賬戶及密碼;tdbsam代表基于TDB的密文格式存儲(chǔ);ldapsam代表使用LDAP存儲(chǔ)賬戶資料。
load printers = yes #客戶端在10分鐘內(nèi)沒有打開任何Samba資源,服務(wù)器將自動(dòng)關(guān)閉回話。
cups options = raw #打印屬性
[homes] #共享名稱
comment = Home Directories #注釋,共享的描述信息
browseable = no #共享目錄是否可以被瀏覽
writable = yes #共享目錄是否可以進(jìn)行寫操作
[printers] #打印機(jī)共享
comment = All Printers
path = /var/spool/samba #打印機(jī)共享池
browseable = no
guest ok = no #是否允許匿名訪問
writable = no
printable = yes
[common] #共享名稱為common
comment = Common share
path = /common #指定共享目錄
valid users = tom jerry #有效賬戶列表
create mask = 0750 #客戶端上傳文件的默認(rèn)權(quán)限
directorymask = 0775 #客戶端創(chuàng)建目錄的默認(rèn)權(quán)限
browseable = yes #客戶端是否對(duì)所有人可見
writable= no #是否允許寫入
write list = tom #寫權(quán)限賬戶列表
admin users = tom #該共享的管理員,具有完全權(quán)限
invalid users = root bin #禁止root與bin訪問common共享
guest ok = no #是否允許匿名訪問
8)啟動(dòng)samba
[root@localhost ~]# systemctl restart smb
[root@localhost ~]# systemctl restart nmb
9)模擬測(cè)試以及實(shí)際環(huán)境測(cè)試
測(cè)試環(huán)境可以使用電腦端,手機(jī)端進(jìn)行測(cè)試
windows環(huán)境下使用windows+r
\192.168.1.111



如果需要測(cè)試其它用戶可以用linux系統(tǒng)或者手機(jī)的ES文件瀏覽器
ES瀏覽器

linux測(cè)試方法
mount -o username=xiaohan,password=xiaohan //192.168.1.111/ /mnt
cd /mnt
ls
touch 3.txt