- Samba服務(wù)簡(jiǎn)介
- Samba服務(wù)器配置
- Samba客戶端
- 實(shí)驗(yàn)一:實(shí)現(xiàn)Samba共享
- 實(shí)驗(yàn)二:實(shí)現(xiàn)多用戶Samba掛載
一、Samba服務(wù)簡(jiǎn)介
(一)Samba歷史
- SMB(Server Message Block):服務(wù)器消息塊,IBM發(fā)布,最早是DOS網(wǎng)絡(luò)文件共享協(xié)議
- Cifs(common internet file system):微軟基于SMB發(fā)布
- SAMBA:1991年Andrew Tridgell,實(shí)現(xiàn)windows和UNIX相通
(二)Samba功能
- 共享文件和打印,實(shí)現(xiàn)在線編輯
- 實(shí)現(xiàn)登錄SAMBA用戶的身份認(rèn)證
- 可以進(jìn)行NetBIOS名稱解析
- 外圍設(shè)備共享
(三)Windows計(jì)算機(jī)網(wǎng)絡(luò)管理模式
- 工作組WORKGROUP:計(jì)算機(jī)對(duì)等關(guān)系,帳號(hào)信息各自管理
- 域DOMAIN:C/S結(jié)構(gòu),帳號(hào)信息集中管理
(四)Samba相關(guān)包
- samba:提供smb服務(wù)
- samba-client:客戶端軟件
- samba-common:通用軟件
- cifs-utils:smb客戶端工具
- samba-winbind:與AD(Active Directory)相關(guān)
(五)Samba其他相關(guān)
- 相關(guān)服務(wù)進(jìn)程
smbd:提供smb(cifs)服務(wù),TCP: 139, 445
nmbd:NetBIOS名稱解析,UDP: 137, 138 - 主配置文件:/etc/samba/smb.conf
- 語(yǔ)法檢查:testparm [-v] [/etc/samba/smb.conf]
- 客戶端工具:smbclient, mount.cifs
二、Samba服務(wù)器配置
(一)配置文件組成
-
smb.conf繼承了.ini文件的格式,用[ ] 分成不同的部分
全局設(shè)置 (Global Settings):
[global]:服務(wù)器通用或全局設(shè)置的部分特定共享設(shè)置 (Share Definitions):
[homes]:用戶的家目錄共享
[printers]:定義打印機(jī)資源和服務(wù)
[sharename]:自定義的共享目錄配置
#和;開頭的語(yǔ)句為注釋,大小寫不敏感
宏定義
%m:客戶端主機(jī)的NetBIOS名
%M:客戶端主機(jī)的FQDN
%H:當(dāng)前用戶家目錄路徑
%U:當(dāng)前用戶用戶名
%g:當(dāng)前用戶所屬組
%h:samba服務(wù)器的主機(jī)名
%L:samba服務(wù)器的NetBIOS名
%I:客戶端主機(jī)的IP
%T:當(dāng)前日期和時(shí)間
%S:可登錄的用戶名
(二)全局設(shè)置
- workgroup:指定工作組名稱
- server string:主機(jī)注釋信息
- netbiosname:指定NetBIOS名
- interfaces:指定服務(wù)偵聽接口和IP
- hosts allow:可用",",空格或tab分隔,默認(rèn)允許所有主機(jī)訪問(wèn),也可在每個(gè)共享獨(dú)立配置,如在[global]設(shè)置,將應(yīng)用并覆蓋所有共享設(shè)置。允許格式如下:
- IPv4 network/prefix: 192.168.0.0/24
- IPv4前綴: 192.168.0: .
- IPv4 network/netmask: 192.168.0.0/255.255.255.0
- 主機(jī)名: desktop.example.com
- 以example.com后綴的主機(jī)名: .example.com
- hosts deny:拒絕指定主機(jī)訪問(wèn)
- config file=/etc/samba/conf.d/%U:用戶獨(dú)立的配置文件
- log file=/var/log/samba/log.%m:不同客戶機(jī)采用不同日志
- max log size=50:日志文件達(dá)到50K,將輪循rotate,單位KB
- security:三種認(rèn)證方式
- share:匿名(CentOS7不再支持)
- user:samba用戶(使用linux用戶,samba的獨(dú)立口令)
- domain:使用DC(DOMAIN CONTROLLER)認(rèn)證
- passdb backend = tdbsam:密碼數(shù)據(jù)庫(kù)格式
(三)管理Samba用戶
- 添加samba用戶
smbpasswd -a <user>
pdbedit -a -u <user> - 修改用戶密碼
smbpasswd <user> - 刪除用戶和密碼:
smbpasswd -x <user>
pdbedit -x -u <user> - 查看samba用戶列表:
/var/lib/samba/private/passdb.tdb
pdbedit -L -v - 查看samba服務(wù)器狀態(tài)
smbstatus
(四)配置目錄共享
- 每個(gè)共享目錄應(yīng)該有獨(dú)立的[ ]部分
- [共享名稱]:遠(yuǎn)程網(wǎng)絡(luò)看到的共享名稱,并非一定與共享目錄名相同
- comment:注釋信息
- path:所共享的目錄路徑
- public:共享能否被guest訪問(wèn),默認(rèn)no
- browsable:是否允許所有用戶瀏覽此共享,默認(rèn)為yes,no為隱藏
- writable=yes:可以被所有用戶讀寫,默認(rèn)為no
- read only=no:和writable=yes等價(jià),如與以上設(shè)置沖突,放在后面的設(shè)置生效,默認(rèn)只讀
- write list:三種形式:
用戶
,@組名
,+組名
,用","分隔
如writable=no,列表中用戶或組可讀寫,不在列表中用戶只讀 - valid users:特定用戶才能訪問(wèn)該共享,如為空,將允許所有用戶,用戶名之間用空格分隔
三、Samba客戶端
(一)UNC
- UNC(Universal Naming Convention):通用命名規(guī)范
- 格式:\\sambaserver\sharename
(二)終端下使用smbclient登錄服務(wù)器
// 查看目標(biāo)主機(jī)的Samba共享目錄
smbclient -L instructor.example.com
smbclient -L instructor.example.com -U user%password
// 登錄目標(biāo)主機(jī)的Samba共享目錄
smbclient //instructor.example.com/shared -U user%password
(三)掛載CIFS文件系統(tǒng)
手動(dòng)掛載
mount -o user=wang,password=magedu //server/shared /mnt/smb
開機(jī)自動(dòng)掛載
// 便捷/etc/fstab文件,credentials:用文件代替用戶名和密碼的輸入
vim /etc/fstab
//server/homes /mnt cifs credentials=/etc/smb.txt 0 0
// 編輯用戶名和密碼存儲(chǔ)文件
vim /etc/smb.txt
username=wang
password=magedu
chmod 600 /etc/smb.txt
四、實(shí)驗(yàn)一:實(shí)現(xiàn)Samba共享
環(huán)境:本實(shí)驗(yàn)需要兩臺(tái)主機(jī):Samba服務(wù)器與Samba客戶端
實(shí)現(xiàn)功能:Samba用戶smb1, smb2, smb3掛載服務(wù)器共享目錄,其中smb1, smb2登錄時(shí)具有對(duì)共享目錄的讀寫權(quán)限,smb3登錄時(shí)具有對(duì)共享目錄的只讀權(quán)限
(一)服務(wù)器上安裝Samba
yum install samba
systemctl start smb
(二)服務(wù)器上建立Samba用戶
useradd -s /sbin/nologin smb1
useradd -s /sbin/nologin smb2
useradd -s /sbin/nologin smb3
smbpasswd -a smb1
smbpasswd -a smb2
smbpasswd -a smb3
(三)服務(wù)器上創(chuàng)建Samba共享目錄
mkdir -p /app/smbshare
// 建立smbadmin用戶組,方便管理讀寫權(quán)限
groupadd smbadmin
groupmems -g smbadmin -a smb1
groupmems -g smbadmin -a smb2
chgrp smbadmin /app/smbshare/
chmod 775 /app/smbshare/ // 給smbadmin組賦予寫權(quán)限
(四)Samba服務(wù)器配置
// 編輯Samba服務(wù)配置文件
vim /etc/samba/smb.conf
[smbshare]
comment = Samba Share Directory
path = /app/smbshare
write list = @smbadmin //使用組管理實(shí)現(xiàn)smb1, smb2具有讀寫權(quán)限
// 根據(jù)write list的設(shè)置,將smb1, smb2加入到smbadmin組中來(lái)
// 重啟服務(wù)
systemctl restart smb
(五)客戶端訪問(wèn)
// 用戶smb1使用smbclient工具登錄共享目錄
smbclient -L 192.168.136.230 -U smb1%magedu
smbclient //192.168.136.230/smbshare -U smb1%magedu
// 用戶smb2手動(dòng)掛載共享目錄
mkdir /mnt/smb2
mkdir /mnt/smb3
mount -o username=smb2,password=magedu //192.168.136.230/smbshare /mnt/smb2
cd /mnt/smb2
touch smb2file
// 用戶smb3自動(dòng)掛載目錄
yum install cifs-utils
vim /etc/fstab
//192.168.136.230/smbshare /mnt/smb3 cifs rw,credentials=/etc/smb.txt 0 0
vim /etc/smb.txt
username=smb3
password=magedu
chmod 600 /etc/smb.txt
mount -a
cd /mnt/smb3
touch smb3file
- 查看目標(biāo)主機(jī)的共享目錄
- 用戶smb1登錄服務(wù)器,成功上傳文件
- 用戶smb2手動(dòng)掛載共享目錄,看到smb1用戶上傳的文件,并且成功建立文件
- 用戶smb3自動(dòng)掛載共享目錄,即便掛載選項(xiàng)為rw,仍舊不能新建文件
五、實(shí)驗(yàn)二:實(shí)現(xiàn)多用戶Samba掛載
實(shí)現(xiàn)功能:保留實(shí)驗(yàn)一的功能,并且實(shí)現(xiàn)多用戶只掛載一次共享目錄,并且可以自由切換登錄用戶
實(shí)現(xiàn)多用戶掛載需要在客戶端進(jìn)行相應(yīng)配置,服務(wù)器端的操作與上個(gè)實(shí)驗(yàn)相同,本實(shí)驗(yàn)直接繼承實(shí)驗(yàn)一服務(wù)器的環(huán)境,實(shí)現(xiàn)多用戶掛載
(一)客戶端配置多用戶掛載
yum install cifs-utils
mkdir /mnt/smbshare
vim /etc/fstab
//192.168.136.230/smbshare /mnt/smbshare cifs credentials=/etc/smb.txt,multiuser 0 0
vim /etc/smb.txt
username=smb3
password=magedu
chmod 600 /etc/smb.txt
mount -a // 實(shí)際調(diào)用的是mount.cifs命令
(二)客戶端實(shí)現(xiàn)多用戶掛載
useradd smb1
useradd smb2
useradd smb3
ls /mnt/smbshare
touch /mnt/smbshare/smbfile3
su smb1
cifscreds add -u smb1 192.168.136.230
ls /mnt/smbshare
touch /mnt/smbshare/smbfile1
ls /mnt/smbshare
exit
su smb2
cifscreds update -u smb2 192.168.136.230
ll /mnt/smbshare
touch /mnt/smbshare/smbfile2
ll /mnt/smbshare
exit
- 默認(rèn)以smb3用戶掛載共享目錄,smb3用戶沒(méi)有寫權(quán)限,故無(wú)法新建文件
- 切換為smb1用戶,smb1用戶有寫權(quán)限,新建文件成功
- 切換為smb2用戶,smb2用戶有寫權(quán)限,同樣新建文件成功