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

分類:IT技術 時間:2016-10-14

理論部分

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

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

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

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

    協議端口:

           smbd:tcp 445和tcp139

            nmbd:udp 137/138

   工作流程:

        wKiom1e-4vqQYmpWAAF0LSmY7lg192.jpg

 (圖片來源網絡)

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=@lzs,zhao    #只有用戶名為zhao或組群為lzs的用戶才能訪問
write list=@lzs            #只有屬於組群lzs的用戶才具有寫權限
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賬戶=映射後的用戶

        例如:

        lzs=linzs

        使用linzs登錄時,其實登錄的是lzs這個用戶

本文出自 “90後” 博客,請務必保留此出處http://lzs66.blog.51cto.com/9607068/1842621


Tags: security 共享資源 配置文件 計算機 用戶名

文章來源:


ads
ads

相關文章
ads

相關文章

ad