溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

鳥哥的Linux私房菜學習筆記之SAMBA

發(fā)布時間:2020-06-24 01:44:50 來源:網絡 閱讀:325 作者:tomshen 欄目:系統(tǒng)運維

NFS僅能讓Unix/linux之間共享數據,CIFS僅能讓Win之間溝通

SAMBA:
跨平臺的文件共享服務
主要用于局域網內

SAMBA常見的應用:
    共享文件與打印機服務
    可以提供用戶登錄SAMBA主機時的身份認證,以提供不同身份用戶的個別數據
    可以進行Windows網絡上的主機名解析(NetBIOS Name)
    可以進行設備的共享(例如Zip、CD-ROM)

SAMBA是架構在NetBIOS這個通信協(xié)議上面開發(fā)出來的

NetBIOS
    由IBM開發(fā)
    NetBIOS: Windows基于于主機實現互相通信的機制;
            15個字符
    NetBIOS無法跨路由通信

    通過NetBIOS over TCP/IP 可以實現跨路由使用SAMBA服務器所提供的功能

NetBIOS Name
    由于NetBIOS主要定義在局域網內,因此并沒有使用TCP/IP之類的傳輸協(xié)議,也就不需要IP的設置。
    倆臺主機間的通信,通過主機在NetBIOS協(xié)議中使用NetBIOS Name,每臺主機使用不同的NetBIOS
    文件數據在不同的NetBIOS Name之間溝通。

SAMBA的主要服務:
    nmbd: 管理工作組,NetBIOS Name 等的解析,使用UDP 137,138端口,向客戶端提供構造在IP之上的NetBios名字服務的NetBios名字服務器
    smbd:管理SAMBA主機共享的目錄,提供文件共享和打印服務的服務器進程。使用TCP 139和445端口。使用smb或cifs協(xié)議
    向客戶提供文件共享空間和打印服務。

SAMBA的常見局域網連接方式:
    Peer/Peer對等模式(Workgroup model,對等模式)
        每臺計算機均可以獨立運作,不受他人影響。
        適用于小型的網絡,或者是不需要常常進行文件數據共享的網絡環(huán)境,或者每個用戶都擁有該計算機的擁有權。

    Domain model(主控模式)
        將所有計算機的賬號和密碼都放置在一臺主控計算機(PDC)上面,任何人使用任何計算機時,都需要通過PDC服務器的辨識后,才給以適當的權限。

SAMBA所需要的軟件:
    samba:samba服務端程序
    samba-client:samba的Linux客戶端
    samba-common:服務端與客戶端都會使用到的數據

SAMBA 用戶賬號必須要存在于Linux系統(tǒng)當中(/etc/passwd),但是SAMBA的密碼與linux的密碼文件并不相同
samba用戶:
賬號:都是系統(tǒng)用戶, /etc/passwd
密碼:samba服務自有密碼文件,

            將系統(tǒng)用戶添加為samba的命令:pdbedit 

            pdbedit 
                -u :指定用戶名
                -a :添加一個可使用的SAMBA賬號,賬號需要在/etc/passwd 內存在
                -r :修改一個賬號的相關信息
                -x :刪除一個SAMBA賬號
                -L :列出目前在數據庫當中的賬號與UID等相關信息
                -v :與 -L 搭配使用列出更詳細的信息

        修改SAMBA賬號密碼
            smbpasswd:

SAMBA的配置文件:
    /etc/samba/smb.conf   #samba主配置文件
    /etc/sysconfig/samba  #提供啟動smbd,nmbd時,還想要加入的相關參數。
    /var/lib/samba/private/{passdb.tdb,secrets.tdb} 管理samba的用戶賬號/密碼時,會用到的數據庫文件
    /usr/share/doc/samba-<版本>:samba技術手冊

    /usr/bin/{smbd,nmbd} #samba服務端服務程序
    /usr/bin/{tdbdump,tdbtool} #samba3.0以后的版本中,用戶的賬號密碼參數已經使用數據庫管理,samba使用的數據庫為TDB。
                                tdbdump可以查看數據庫的內容,tdbtool可以進入數據庫手動修改賬戶及密碼參數。(需安裝tdb-tools)

    /usr/bin/smbstatus   #列出當前samba的連接狀況,包括PID,共享的資源,使用的用戶來源等。

    /usr/bin/pdbedit     #管理samba用戶數據
    /usr/bin/testparm    #檢查主配置文件smb.conf的語法錯誤

    /usr/bin/smbclient   #查看其他計算機共享出來的目錄與設備,或在自己的samba主機上,查看samba是否設置成功

    /usr/bin/nmblookup   #查出NetBios Name
    /usr/bin/smbtree     #查出工作組與計算機名稱的樹形目錄分布圖

SAMBA的主配置文件;(#號與;都是注釋文件)
        /etc/samba/smb.conf

         主機信息的配置:
            [global]
                workgroup = MYGROUP  #工作組的名稱,共享文件客戶端服務端工作組要相同
                netbios name = MYSERVER #主機的NetBIOS Name名稱,每部主機均不同
                server string = Samba Server Version %v #主機的簡易說明
                display charset=xx 自己服務器上面的顯示編碼
                unix charset=xx    在Linux服務器上所使用的編碼
                dos charset=xx     Windows客戶端的編碼

                host allow=IP      訪問權限設定,指定IP的主機可以訪問SAMBA服務

                關于語言的設定可參考:
                    http://phorum.vbird.org/viewtopic.php?t=22001

                log file=xx 日志文件的存儲文件
                max log size=xx 日志文件最大多大

                security=xxx share,user,domain 三選一 
                    share:共享的數據不需要密碼,大家均可使用(安全性差)
                    user:使用samba服務器本身的密碼數據庫
                    domain:使用外部服務器的密碼,也就是samba時客戶端的意思,需要password server=IP 的設置值

                encrypt passwords=YES     密碼是否加密
                passdb backend=數據庫格式 

         共享信息的配置:
                [共享名稱]
                path=xxx       實際共享的目錄
                comment:共享目錄的說明
                guest ok=yes    允許以缺省的guest用戶權限進行訪問(缺省權限為guest account 設置的權限,缺省設置為nobody,編譯時指定)

                browseable:是否讓所有用戶看到這個目錄
                writable:是否可以寫入
                write list=@組 可以進入此資源的特定用戶組
                create mode=xx  創(chuàng)建文件的相關權限
                directory mode=xx  創(chuàng)建目錄的權限
                read only = yes 是否只讀

     檢查配置文件語法正確:
        testparm 命令
            -v:查閱完整的參數設置,連同默認值也會顯示出來

 smbclient命令: 查看其他計算機共享出來的目錄與設備,或在自己的samba主機上,查看samba是否設置成功

    smbclient -L [//主機或IP] [-U 用戶賬號]

        -L:僅查詢后面連接的主機所提供的共享資源目錄
        -U:以指定的賬號來嘗試訪問該主機的可用資源

基于掛載的方式訪問:
        mount -t cifs //SERVER/shared_name  /mount_point -o username=USERNAME,password=PASSWORD
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI