文件共享之Samba

1.Samba基礎知識:

    Tridgwell在91年時爲解決Linux與window之間文件共享服務,開發出SMB協議與Samba服務程序。

    smb:Service message block消息服務塊;

    CIFS:commom Internet file system,通用網絡文件系統;

    Samba功能:文件共享、打印機共享、NetBIOS協議(Windows基於主機實現互相通信機制,15個字符);

2.Samba服務:

    2.1服務端程序包:通過yum install -y samba;nmbd提供netbios name service ;smbd提供cifs共享;

        systemd unit file: nmbd→nmb.service

                           smbd→amb.service

        客戶端程序包:Samba-client 

                      smbclient 命令交互工具;

                      mount -t cifs 實現本地掛載方式;

    2.2啓動服務:systemctl start nmb.service

                 systemctl start nmb.service

        檢查監聽端口:netsate -utnlp

        如圖:

        image.png

    2.3Samba配置文件:man smb.conf

        /etc/samba/smb.conf /etc/samba/sam.conf.example

        配置段:全局配置[global]、共享配置段[共享資源名稱]

        2.3.1全局配置

            workgroup=MYGROUP; #當前Samba主頁所屬工作組

            netbios name = : #當前主機netbios名稱

            server string = :#主機註釋

            display chaset = :#當前Samba主機服務使用字符集

            unix chaset = : #當前Linux主機所用的字符集

            dos chaset = : #windos系統字符集

            log file = /var/log/samba/log.%m #定義日誌文件存放位置和命名,%m客戶端hostname命名

            max log size =50 :#定義日誌文件最大容量50KB

            security = user #設定安全級別爲user機制        

                       安全級別有以下3種:

                        share:匿名共享,安全性差

                        user:使用Samba服務自我管理的賬號密碼對用戶進行驗證;用戶需爲系統用戶;

                              密碼爲訪問Samba服務設定的密碼。

                        domain:使用DC進行用戶認證

            passdb backen = tdbsam #密碼庫文件格式

        2.32共享配置:

            [共享名稱]定義某共享服務名

            comment =:#註釋信息

            path =:#定義共享文件路徑

            browserable =:#是否可瀏覽,是否可被所有用戶看到

            writeable =:是否可寫

            read only =:是否爲只讀

            write list =:可以寫操作的用戶列表 :"用戶名"、"@組名"或者"+組名"

            public =:是否公開服務

            guest OK =:是否允許來賓,與public類似

                注:writable與write list不可同時啓用;

        2.4檢查配置文件語法:

            testparm /etc/samba/smb.conf

3.管理Samba用戶工具

        smbpasswd [option] username

            -a:add user

            -x:delete user

            -d:禁用

            -e:啓用

        pdbedit [option]

            -L:列出所有用戶

            -v:verbose

            -a:add user

                 -u username

            -x:delete user  -u username

            -r:修改用戶信息

         smbstatus:顯示Samba server的相關共享訪問狀態

            -b:簡要信息

            -v:verbose

4.訪問Samba共享:訪問UNC路徑://server/shared_name

    Linux:

    smbclinet:交互式命令客戶端

    mount -t cifs:掛載文件系統

    window:\\HOST OR IP\SHARED_DIR

    4.1交互式數據訪問:

         smbclient -L HOST -U USERNAME  #獲取到共享信息

         smbclint //server/shared_name  [-U username] [-p passwd]              

    4.2基於掛載的方式訪問:

          mount -t cifs //SERVER/shared_name  /mount_point -o username=USERNAME,password=PASSWORD

               密碼可以交互式輸入:

5.安全共享文件實現

      使用Samba安全機制user模式下實現centos7之間以及win7之間文件共享:

          創建一個共享data,路徑爲/ftp/data,要求僅centos和gentoo能上傳文件, 此路徑對其他用戶不可見:

    5.1設置配置文件的安全機制爲user

             image.png

    5.2創建共享文件

        image.png

    5.3創建用戶並授權

        useradd centos

        setfacl -m u:centos:rwx /ftp/data

        添加用戶至Samba服務

        image.png

    5.4實現文件共享

        5.4.1linux主機訪問正常,上傳下文件正常

            image.png

       5.4.2Linux與win7之間,首先要確保能夠互相通信、iptables以及selinux關閉狀態:

          在Windows資源管理中:\\192.168.1.111便切換至認證界面 :輸入Samba認證的用戶和密碼即可登錄:

            image.png

        共享文件的家目錄:

            image.png

        5.4.3在本地win編輯centos.txt上傳至centos家目錄,在Linux客戶端查看並上傳至共享文件data中:

        image.png

        在Linux本地查看:

        image.png

        Linux上傳centos.txt至/ftp/data,window訪問正常。

     




















       

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