linux中samba的部署及應用詳解

來源:互聯網
上載者:User

samba:
啟動服務:nmb.server;smb.server

會通過檔案系統的方式輸出給用戶端

smb:Service Message Block;服務資訊塊
cifs:Common Internet File System,通用互連網檔案系統
samba:Andrew Tridgell;熱情奔放的桑巴舞,主要的協議 cifs,協議

1.功能:

檔案系統共用;

NetBIOS協議;

列印服務;

2、工作模型

peer to peer(Work Group):工作群組模型

domain devel:領域模型

  實現方式:LDAP:Lightweight Directory Access Protocol
  輕量級目錄服務訪問協議
3、安裝 :yum install samba

       

一、程式環境:

4、設定檔:

    /etc/samba/smb.conf
5、主程式:

    nmbd:Network Naming Service, 主要是為了完成NetBIOS網域名稱解析
    smbd:SMB/CIFS Service;根本的samba主程式
6、Unit File:

    /usr/lib/systemd/system/nmb.service
    /usr/lib/systemd/system/smb.service
7、監聽的連接埠:

    137/udp, 138/udp
    139/tcp, 445/tcp
8、用戶端程式:

    mount -t cifs = mount.cifs  
    專用於掛載samba檔案系統的方式

    smbclient:互動式命令列用戶端工具;
注意:samba使用的是系統中的使用者名稱,但是不會使用其密碼,samba內部提供了一個內建的密碼機制!

二、samba的配置:

/etc/samba/smb.conf
       

兩類配置段:

全域配置:

[global]

Network-Related Options ----網路相關的選項

    workgroup = MYGROUP //定義工作群組組名
    server string = Samba Server Version %v
    //定義提示資訊,%v表示宏定義samba的版本號碼

    ; netbios name = MYSERVER //win主機為了在win解析對等網路的主機名稱時,當前主機用什麼去相應


  ; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/2 
     #啟用的話 指明要監聽的地址和介面(預設注釋掉的資訊)用空格分開,lo 表示監聽本地的主機連接埠

  ; hosts allow = 127. 192.168.12. 192.168.13.
        做存取控制,白名單;127.表示127.0.0.1/8所在的網段,192.168.12表示192.168.12的網段

 

Logging Options ---------日誌選項

     log file = /var/log/samba/log.%m
    #表示每個訪問的主機用單獨的檔案訪問 %m表示那個主機的地址

    max log size = 50
    #記錄的檔案大小一旦超過這個大小就要滾動表示了,應當調大一點 51200 ;512M

Standalone Server Options --------獨立服務選項(就是我們只用來配置sambaserver的選項)
    security = user
        share (depricated)
        server (depricated)
        domain   
    定義安全選項為 帳號密碼登陸,帳號為系統帳號

    passdb backend = tdbsam
    定義密碼儲存機制 tdbsam

Browser Control Options -------- 瀏覽器控制選項
Name Resolution ----------名稱解析
 Printing Options -------印表機驅動

    load printers = yes
    印表機驅動是否裝載

    cups options = raw
    同用unix列印驅動    使用raw庫
======== Share Definitions =========定義共用檔案系統

[shared_ID]有三類:

[homes]:每個samba使用者是否能夠通過samba服務訪問其家目錄;

[printers]:列印服務;

[shared_FS]:使用者自訂的共用目錄;

常用指令:

comment:注釋資訊,解釋作用;

path:本地檔案系統路徑;

browseable:是否可瀏覽,是否為使用者可見;

guest ok:是否允許來賓帳號訪問;

public:是否公開給所有來賓與上一條意義一樣;

writable:服務對所有的使用者是否可寫;

read only = no

write list:擁有寫入權限的使用者或組列表這條與上一條不能通用;

使用者名稱

@組名, +組名

三、samba使用者管理命令:smbpasswd, pdbedit

smbpasswd [OPTIONS] USERNAME 傳統命令

-h:擷取協助
-a:添加使用者進samba使用者
-x:刪除使用者
-d:禁用使用者
-e:啟用
-L:列出添加的使用者
pdbedit:

-L:列出samba服務中的所有使用者;
-au:添加使用者為samba使用者,a表示添加,u指明使用者名稱;
-x:刪除
-t:從標準輸出接收密碼;


四、訪問服務:

1、smbclient互動式用戶端程式:

(1) 查看目標服務上的共用

    smbclient -L SMB_SERVER [-U USERNAME]


(2) 訪問共用服務

    smbclient //SMB_SERVER[/SHARE_NAME] [-U USERNAME]


2、mount.cifs

 

    mount -t cifs //SMB_SERVER/SHARED_ID  /MOUNT_POINT  -o username=USER,password=PASS
注意:掛載操作中的使用者,與-o選項中指定的使用者直接產生映射關係;訪問掛載,是以-o選項指定的使用者身份運行,與本機使用者以ID產生映射;

這裡有些小東西要記住:當用戶端主機使用者B和服務端允許的samba許可權為 讀寫 使用者A上的 識別碼一樣時會導致 B使用者會對此samba系統有讀寫權限!
    前提:B使用者要對掛載的目錄有讀寫權限,且A使用者也要對共用的samba目錄也要用讀寫權限才行(就是檔案系統許可權要開放!samba服務許可權也要開放,才可以)
smbstatus命令:

顯示samba服務的相關共用的訪問狀態資訊;
    -b:顯示簡要格式資訊;
    -v:顯示詳細格式資訊;
                                   

自訂共用的方式:

[shared_ID]
    comment =
    path =
    guest ok =
    read only =
    public =
    browseable =
    write list =
測試文法命令 : testparm

注意:定義所使用者在服務級的寫入權限write = yes (read only = no)不建議與write list同時使用;

實驗1:用戶端命令方式掛載

步驟1、改設定檔:


   

發現並不能上傳,這是因為服務端centos使用者不能對 /samba/tools 有寫入權限

步驟2、加上寫入權限

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.