Linux自學筆記——文件共享之samba

 Samba:Service Message Block, 是linux和unix系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB是一種在局域網上共享文件和打印機的一種通信協議,它爲局域網內的不同計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,客戶機通過該協議可以訪問服務器上的共享文件系統、打印機及其他資源。通過設置NetBIOS over TCP/IP使得samba不但能與局域網主機分享資源,還能與全世界電腦分享資源。
 協議端口:137/udp,138/udp,139/tcp, 139/tcp
 NetBIOS:windows基於主機實現互相通信的機制;15個字符;
 CIFS:cifs是一個新提出的協議,它使程序可以訪問遠程internet計算機上的文件並要求此計算機提供服務。CIFS使用客戶/服務器模式。客戶程序請求遠在服務器上的服務器程序爲它提供服務。服務器獲得請求並返回迴應。CIFS是公共的或開放的SMB協議版本,並由Microsoft使用。SMB協議在局域網上用於服務器文件訪問和打印的協議。像SMB協議一樣,CIFS高層運行,而不像TCP/IP協議那樣運行在底層。CIFS可以看做是應用程序協議和文件傳輸協議和超文本協議的一個實現。
 Windows默認支持CIFS和SMB,linux可以通過CIFS便可以跟windows之間通信。
Samba:
 nmbd:netbios
  smbd:cifs (
 winbindd:
 UNC路徑:\SERVER\shared_name
交互式數據訪問:
#smbclient –L HOST –U USERNAME
獲取到共享信息後,
#smbclient //SERVER/shared_name –U USERNAME
基於掛載的方式訪問:
Mount –t cifs //SERVER/shared_name /mount_point –o username=USERNAME,password=PASSWORD
服務器:
#yum –y install samba
服務腳本:
/etc/rc.d/init.d/nmb
/etc/rc.d/init.d/smb
主程序:
/usr/sbin/nmbd:
Network Naming Service,主要是完成NetBIOS名稱解析;
/usr/sbin/smbd:
SMB/CIFS Service:核心主程序,完成SMB/CIFS服務
主配置文件:
/etc/samba/smb.conf
Samba用戶:
賬號:都是系統用戶,/etc/password
密碼:samba服務自有密碼文件,江系統用戶添加爲samba的命令爲:smbpasswd
smbpasswd:
-a Sys_User:添加系統用戶爲samba用戶
-d:禁用samba用戶
-e:啓用samba用戶
-x:刪除samba用戶
主配置文件:/etc/samba/smb.conf
 全局設定(global段)
  特定共享的設定
  私有家目錄
  打印機共享
   自定義共享:
    [shared_name]
   Path =/path/to/share_directory
   Comment = Comment String
   Guest ok = {yes|no}
   Public = {yes|no}
   Writable = {yes|no}
   Read only = {yes|no}
   Write list = USERNAME,+GROUP_NAME(也可以寫作@GROUP_NAME)
  Note:修改samba的配置文件後必須要restart才能生效;

示例:建立samba共享,共享目錄爲/data,要求:
1) 共享名爲shared,工作組爲claude;
2) 添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop爲附加組,U幣;ubuntu不屬於develop組;密碼均爲用戶名;
3) 添加samba用戶gentoo,centos和ubuntu,密碼均爲claude666;
4) 此samba共享的shared僅允許develop組具有寫權限,其他用戶只能以只讀方式訪問;
5) 此samba共享服務僅允許來自192.168.19.0/24網絡的主機訪問;
步驟:
以下samba服務器爲192.168.19.134,測試主機爲192.168.19.135 , 192.168.115.32

  1. 創建共享目錄;
    Linux自學筆記——文件共享之samba
  2. 創建相關用戶相關組;
    Linux自學筆記——文件共享之samba
    設置密碼:
    Linux自學筆記——文件共享之samba
  3. 添加samba用戶;
    Linux自學筆記——文件共享之samba
  4. 設置共享目錄權限;
    Linux自學筆記——文件共享之samba
  5. 編輯配置文件/etc/samba/smb.conf;
    1) 設置工作組,已經訪問權限;
    Linux自學筆記——文件共享之samba
    2) 自定義共享;
    Linux自學筆記——文件共享之samba
  6. 檢測文件語法錯誤;
    Linux自學筆記——文件共享之samba
  7. 啓動服務;(需啓動兩個服務)
    Linux自學筆記——文件共享之samba
    測試:
  8. 查看指定服務器上的共享信息;
    Linux自學筆記——文件共享之samba
  9. 以掛載方式訪問;
    1) 以ubuntu用戶登錄掛載訪問;
    Linux自學筆記——文件共享之samba
    2) 以gentoo用戶掛載訪問;
    Linux自學筆記——文件共享之samba
    可以看出以gentoo用戶登錄掛載,可以讀寫;
    3) 在windows上訪問;
    Linux自學筆記——文件共享之samba

Samba-swat:
Samba-swat是一個基於web的samba管理工具,支持從任何具有web瀏覽器的計算機進行GUI配置。Swat本身就是一個服務器,獨立於samba服務器。其服務進程又被設計爲超級守護進程xinetd管理,由xinetd代爲監聽在tcp的901端口。

  1. 安裝samba-swat;
    #yum install –y samba-swat
  2. 編輯配置文件/etc/xinetd.d/swat
    Linux自學筆記——文件共享之samba
  3. 啓動xinetd服務並查看901端口是否在監聽狀態;
    Linux自學筆記——文件共享之samba
  4. 測試;
    1) 要求驗證賬號:
    Linux自學筆記——文件共享之samba
    2) 成功登陸管理界面:
    Linux自學筆記——文件共享之samba
    Note:如果在swat配置裏使用本機訪問,安全性有了保證,而如果使用遠程訪問swat,密碼將以明文形式發送,安全性得不到保障,所以可以用ssl加密swat;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章