5.samba服務
五、samba服務器
1、概述
Samba最先在linux和windows兩個平臺之間搭建起來的一座橋梁,它實現了linux系統和windows系統之間的通信,比如拷貝文件、實現不同操作系統之間的資源共享等,我們可以將其架設成一個功能強大的文件服務器,也可以將其架設成打印服務器提供給本地和遠程聯機打印。
2、Samba應用環境
文件和打印機共享:文件和打印機共享是samba的主要功能,SMB進程實現資源共享,將文件和打印機發布到網絡之中,以供用戶可以訪問。
身份驗證和權限設置:smbd服務支持user mode和domain mode等身份驗證和權限設置模式,通過加密的方式可以保護共享的文件和打印機。
3、
(1)服務端
[[email protected] Desktop]# rpm -ivh /mnt/Packages/samba-3.6.9-164.el6.x86_64.rpm
#該包為Samba服務的主程序包
[[email protected] Desktop]# /etc/init.d/smb start
Starting SMB services: [ OK ]
[[email protected] Desktop]# netstat -antup |grep smb
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 3223/smbd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 3223/smbd
tcp 0 0 :::139 :::* LISTEN 3223/smbd
tcp 0 0 :::445 :::* LISTEN 3223/smbd
(2)客戶端
[[email protected] Desktop]# rpm -ivh /mnt/Packages/samba-client-3.6.9-164.el6.x86_64.rpm
#該包為samba的客戶端工具,是連接服務器和連接網上鄰居的客戶端工具並包含其測試工具
4、服務的使用
(1)windows系統
windows+R,打開一個運行窗口
(2)linux系統
[[email protected] ~]# smbclient -L 192.168.220.150
5、Samba常規服務器配置
基本的samba服務器的搭建流程主要分為四個步驟:
(1)編輯配置文件smb.conf,指定需要共享的目錄,並為共享目錄設置共享權限;
(2)在smb.conf文件中指定日誌文件名稱和存放路徑;
(3)設置共享目錄的本地系統權限及samba共享權限;
(4)重新加載配置文件或重新啟動smb服務,使配置生效。
6、samba配置詳解
(1)smb.conf文件的開頭部分為samba配置簡介,告訴我們smb.conf文件的作用及相關信息。smb.conf中還有以“;”開頭,這些都是samba配置的格式範例,默認是不生效的,可以通過去掉前面的“;”並加以修改來設置想使用的功能。
[[email protected] Desktop]# vim /etc/samba/smb.conf
(2)Global Settings
Global Settings設置為全局變量區域。全局變量就是說我們只要在global時進行設置,那麽該設置項目就是針對所有共享資源生效。
下面我們就[global]常用的字段設置進行講解:
A、設置samba服務器所在的工作組或域名
Workgroup=server1.example.com#工作組
B、服務器描述,服務器描述實際上類似於備註信息
Server string=samba server1#samba服務器描述
C、設置samba服務器安全模式。常見模式有兩種:share安全級別模式和user安全級別模式
Samba服務器有share、user、server、domain和AD活動目錄五種安全模式
a.share安全級別模式
客戶端登錄samba服務器,不需要輸入用戶名和密碼就可以瀏覽samba服務器的資源,適合於公共的共享資源,安全性差,需要配合其他權限設置,保證samba服務器的安全性。
b.user安全級別模式
客戶端登錄samba服務器,需要提交合法的賬號和密碼,經過服務器驗證才可以訪問共享資源,服務器默認為此級別模式。
(3)share definitions共享服務的定義
[homes]為特殊共享目錄,表示用戶主目錄;
[printers]表示共享打印機
配置一個共享資源如下:
[share]#設置共享名
Comment=Home Directories#描述
Browseable=yes#是否允許查看此共享內容
Path=/share#共享路徑,寫絕對路徑
Public=yes#允許匿名查看
(4)設置訪問用戶
如果共享資源存在重要數據的話,需要對訪問的用戶進行審核,我們可以使用valid users字段進行設置
Valid users=用戶名
Valid [email protected]組名
(5)設置目錄只讀
共享目錄如果限制用戶的讀寫操作,我們可以通過readonly實現
Readonly=yes#只讀
Readonly=no#讀寫
(6)設置目錄可寫
如果共享目錄允許用戶寫操作,可以使用writable或write list兩個字段進行設置
Writable 格式
Writable=yes#讀寫
Writable=no#只讀
Write list 格式
Write list=用戶名
Write [email protected]組名
(7)samba服務日誌文件
在/etc/samba/smb.conf文件中,log file為設置samba日誌字段
7、實例演練
(1)匿名共享(實驗之前要保證windows和虛擬機網絡連通)
公司現在有一工作組server1,需要添加samba服務器作為文件服務器,並發布共享目錄/share,共享名為public,這個共享目錄允許公司所有員工訪問。
[[email protected] Desktop]# mkdir /share
[[email protected] Desktop]# cp /etc/passwd !$
cp /etc/passwd /share
[[email protected] Desktop]# ls /share/
passwd
[[email protected] Desktop]# vim /etc/samba/smb.conf
74 workgroup = server1
75 server string = server1 samba server
101 security = share
102 passdb backend = tdbsam
290 [share]
291 comment = Home Directories
292 path = /share
293 public = yes
[[email protected] Desktop]# service smb restart
#驗證
(2)通過用戶名和密碼的方式將/sales共享出去,只有知道用戶名和密碼的同事才可以以查看此文件
A、添加銷售部用戶和組並添加相應samba賬號
使用groupadd命令添加sales組,然後執行useradd和passswd命令添加銷售部員工賬號及密碼
[[email protected] Desktop]# groupadd sales
[[email protected] Desktop]# useradd -g sales sale1
[[email protected] Desktop]# useradd -g sales sale2
[[email protected] Desktop]# id sale1
uid=502(sale1) gid=502(sales) groups=502(sales)
[[email protected] Desktop]# smbpasswd -a sale1
New SMB password:
Retype new SMB password:
Added user sale1.
[[email protected] Desktop]# smbpasswd -a sale2
New SMB password:
Retype new SMB password:
Added user sale2.
[[email protected] Desktop]# vim /etc/samba/smb.conf
101 security = user
102 passdb backend = smbpasswd
103 smb passwd file = /etc/samba/smbpasswd
296 [sales]
297 comment = sales data
298 path = /sales
299 valid users = @sales
300 writable = yes#設置smb服務權限
[[email protected] Desktop]# mkdir /sales
[[email protected] Desktop]# cp /etc/passwd !$
cp /etc/passwd /sales
[[email protected] Desktop]# ls /sales/
Passwd
[[email protected] Desktop]# chmod 777 /sales/#設置smb系統權限
[[email protected] Desktop]# /etc/init.d/smb restart
Shutting down SMB services: [ OK ]
Starting SMB services: [ OK ]
#測試
連接之後需要輸入用戶名和密碼,此處輸入sale1,654321
此時在sale1中新建1.txt文件,在linux中可以看到
[[email protected] Desktop]# ls /home/sale1/
1.txt
(3)擴展參數
Hosts allow和hosts deny的使用方法
Hosts allow字段定義允許訪問的客戶端
Hosts deny 字段定義禁止訪問的客戶端
例如:
Hosts deny = 172.18.0. 表示禁止所有來自172.18.0.0/24網段的IP地址訪問
Hosts allow = 172.18.58.111 表示允許172.18.58.111這個IP地址訪問
當hosts deny和hosts allow字段同時出現並定義的內容沖突時hosts allow優先
(4)boss用戶和sales組對/sales都可以讀寫
配置文件修改如下:
(5)samba的隱藏共享,配置文件修改如下:
例:創建獨立配置文件,讓sale1直接訪問隱藏的共享文件
[[email protected] Desktop]# vim /etc/samba/smb.conf
74 workgroup = server1
75 server string = server1 samba server
76 config file = /etc/samba/smb.conf.%U
102 security = user
103 passdb backend = smbpasswd
104 smb passwd file = /etc/samba/smbpasswd
297 [sales]
298 comment = sales data
299 path = /sales
300 #valid users = @sales
301 #writable = yes
302 write list = @sales
303 browseable = no
[[email protected] Desktop]# cp /etc/samba/smb.conf /etc/samba/smb.conf.sale1
[[email protected] Desktop]# vim /etc/samba/smb.conf.sale1
297 [sales]
298 comment = sales data
299 path = /sales
300 #valid users = @sales
301 #writable = yes
302 write list = @sales
303 browseable = yes
[[email protected] Desktop]# service smb restart
#測試
切斷windows對共享文件的連接:
登錄sale1用戶會發現隱藏文件/sales
登錄sale2會發現沒有隱藏文件/sales的出現
(6)客戶端的一些特殊設置
A、Windows系統下的映射驅動器
將\\172.18.58.111\share復制到下面窗口
B、linux系統下客戶端可通過以下幾種方案實現
方案1:
方案2:
方案3:
[[email protected] Desktop]# mount -t cifs //172.18.58.111/sales /mnt -o username=sale1%654321
[[email protected] Desktop]# df -h
//172.18.58.111/sales 9.7G 3.2G 6.0G 35% /mnt
[[email protected] Desktop]# cd /mnt/
[[email protected] mnt]# ls
1.txt passwd 新建文本文檔.txt
[[email protected] mnt]# touch 2.txt
[[email protected] mnt]# ls
1.txt 2.txt passwd 新建文本文檔.txt
本文出自 “12025595” 博客,轉載請與作者聯系!
5.samba服務