smb協議詳解和samba服務的配置

理論部分

samba:基於smb協議使網絡上的計算機能共享文件

samba的核心是smbd和nmbd兩個守護進程

smbd:管理samba服務器上的共享目錄

nmbd:進行netbios名解析,使客戶端能瀏覽服務器的共享資源

協議端口:

smbd:tcp 445和tcp139

nmbd:udp 137/138

工作流程:

samba服務器的安裝和配置

1、安裝samba

yum install samba -y

2、修改配置文件/etc/samba/smb.conf

#======================= Global Settings ================================= 
//第一部分:設置全局參數內容 
[global] 
workgroup=MYGROUP    #設置服務器所在的工作組或域名 
server string=Samba Server Version %v      #設置samba服務器的描述信息 
netbios=MYSERVER    #設置samba服務器的netbios名稱 
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24    #設置所使用的網卡接口、地址 
hosts allow=127. 192.168.12. 192.168.13.        #設置允許訪問的地址,多個地址用空格隔開 
log file = /var/log/samba/log.%m        #設置日誌文件保存的路徑和名稱,%m代表客戶端主機名 
max log size = 50        #設置日誌文件的大小,單位是KB,爲0時表示不限制日誌的大小 
max open files = 1000    #一個客戶端最多能打開的文件數量 
security=user    #設置samba服務的安全級別 
                  常用的安全級別: 
                      >share :不需要提供用戶名和密碼即可訪問samba服務器 
                      >user:需要提供用戶名和密碼纔可訪問samba服務器,身份驗證由samba服務器負責 
                      >server:需要用戶名和密碼,身份認證由指定的windows服務器或另外一臺samba服務器負責 
                      >domain/ads:較少使用 
encrypt passwords=yes        #設置是否對samba的密碼進行加密,現在windows操作系統都是使用加密密碼,所以一般要開啓此項 
passdb backend=smbpasswd    #當使用加密密碼時,指定所使用的密碼數據庫類型 
                  一般使用的數據庫類型: 
                      >tdsam:使用一個數據庫文件來創建用戶數據庫,數據庫文件名爲passdb.tdb,可使用smbpasswd或pdbedit命令來創建samba用戶 
                      >smbpasswd:使用smbpasswd命令來給系統用戶(真實用戶或者虛擬用戶)設置一個Samba密碼,客戶端使用這個密碼來訪問Samba的資源。 
                      >ldapsam:基於ladp的賬戶管理方式來驗證用戶,較少使用 
smb passwd file=/etc/samba/smbpasswd    #使用smbpasswd類型的密碼數據庫時密碼文件的路徑                    
username map = /etc/samba/smbusers    #設置用戶映射,比如可以將root換成administrator、admin等 
password server=x.x.x.x    #設置身份認證服務器的地址,當security爲ads、server或domain時才生效 
  
#============================ Share Definitions ============================== 
[share_name]    #設置共享目錄的共享名稱 
comment=description of the dir    #共享目錄的註釋說明 
path=/path/to/dir        #共享目錄的路徑名稱 
browseable=yes            #共享目錄是否能被瀏覽 
public=yes            #是否允許匿名訪問,當security=share時才生效 
guest ok=yes            #效果與public相同 
writable=yes            #是否允許讀寫 
read only=yes            #是否爲只讀 
valid users=@linuxidc,zhao    #只有用戶名爲zhao或組羣爲linuxidc的用戶才能訪問 
write list=@linuxidc            #只有屬於組羣linuxidc的用戶才具有寫權限 
create mask=0765            #設置默認創建的文件的權限是0765 
directory mode=0755            #設置默認創建的目錄的權限 
force group                #設置默認創建的文件的組羣 
force user                #設置默認創建的文件的所有者 
hosts allow                #設置特定主機/網段的用戶才能訪問共享

3、啓動smb服務

service smb start

Samba排錯工具testparm

使用testparm命令可以檢查smb.conf配置文件的正確性

語法:testparm 配置文件

配置客戶端:

Linux:

1、安裝samba-client

yum -y install samba-client

2、使用smbclient命令進行連接和顯示共享目錄

顯示共享目錄

語法:smbclient [選項] [選項參數]

常用選項說明
-L<主機>獲取指定主機的共享列表
-U<用戶名>指定用戶名
-I<IP>指定IP

連接共享目錄

語法:smb //samba地址/共享目錄名 -U 用戶名

一次性連接共享目錄進行指定操作後退出

smbclient -c ”ls“ //samba地址/共享目錄名 -U 用戶名

3、使用mount命令掛載共享目錄

mount -o [username=samba用戶名] [//samba地址/共享目錄名] [本地掛載點]

4、使用smbget命令下載共享資源

smbget [選項] [smb://samba地址/共享目錄名/共享資源]

常用選項說明
-u指定用戶名
-p指定密碼

Windows:

1、打開cmd

2、輸入    \\samba地址

注意要點:

1、使用smbpasswd添加samba用戶時,所添加的用戶必須事先存在於系統中

2、文件/etc/samba/smbusers保存着賬戶映射關係,格式如下

samba賬戶=映射後的用戶

例如:

linuxidc=muu

使用muu登錄時,其實登錄的是linuxidc這個用戶

------------------------------------分割線------------------------------------

如何在Ubuntu 14.04中使用Samba共享文件  http://www.linuxidc.com/Linux/2014-07/104894.htm

VMWare 虛擬機 Ubuntu 雙網卡 訪問 samba 速度 翻倍 http://www.linuxidc.com/Linux/2013-06/85445.htm

Samba文件共享服務器加入Windows Server 2003域 http://www.linuxidc.com/Linux/2013-06/86391.htm

Samba安裝配置 http://www.linuxidc.com/Linux/2013-06/86101.htm

Ubuntu 15.04安裝Samba服務 http://www.linuxidc.com/Linux/2016-03/129201.htm

CentOS 6.2 下Samba 服務的配置 http://www.linuxidc.com/Linux/2013-01/78390.htm

Samba服務器安裝和配置  http://www.linuxidc.com/Linux/2014-12/110459.htm

CentOS部署Samba企業文件共享服務 http://www.linuxidc.com/Linux/2016-06/132609.htm


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章