Linux服務篇之SAMBA文件共享第一篇

Linux服務篇之SAMBA文件共享第一篇

SAMBA服務簡介

  • SMB:Server Message Block ,大意為服務器消息模塊
  • 由IBM公司發布,在最早出現的網絡文件共享協議是DOS網絡文件共享協議
  • Cifs:大意為common internet file system ,是微軟基于SMB發布的變種SMB
  • SAMBA實現是,1991年Andrew Tridgell,是由伯克利大學的大學生,研發出來,他用用意是為了Windows和UNix相通數據
  • SAMBA的功能
    • 共享文件和打印,實現在線編輯
    • 實現登錄SAMBA用戶的身份驗證
    • 可以進行NetBIOS名稱解析
    • 外圍設備共享
  • 計算機網絡管理模式:
    • 工作組 WORKGROUP :計算機對等關系,帳號信息各自管理
    • 域 DOMAIN:C/S 結構,帳號信息集中管理, DC,AD

SAMBA 介紹

  • 相關包:
  • Samba 提供 smb 服務
    • Samba-client 客戶端軟件
    • samba-common 通用軟件
    • cifs-utils smb 客戶端工具
  • 相關服務進程:
    • smbd 提供 smb ( cifs )服務 TCP:139,445
    • nmbd NetBIOS 名稱解析 UDP:137,138
  • 主配置文件: /etc/samba/smb.conf
  • 語法檢查: testparm [-v] [/etc/samba/smb.conf]
  • 客戶端工具: smbclient,mount.cifs

SAMBA 服務器配置

  • smb.conf 繼承了 .ini 文件的格式,用 [ ] 分成不同的部分
  • 全局設置:
    • [global] 服務器通用或全局設置的部分
  • 特定共享設置:
    • [homes] 用戶的家目錄共享
    • [printers] 定義打印機資源和服務
    • [sharename] 自定義的共享目錄配置
  • 其中: # 和 ; 開頭的語句為注釋,大小寫不敏感
  • 宏定義:
    • %m 客戶端主機的 NetBIOS 名 %M 客戶端主機的 FQDN
    • %H 當前用戶家目錄路徑 %U 當前用戶用戶名
    • %g 當前用戶所屬組 %h samba 服務器的主機名
    • %L samba 服務器的 NetBIOS 名 %I 客戶端主機的 IP
    • %T 當前日期和時間 %S 可登錄的用戶名
  • workgroup 指定工作組名稱
  • server string 主機注釋信息
  • netbios name 指定 NetBIOS 名
  • interfaces 指定服務偵聽接口和 IP
  • hosts allow 可用“ ,” ,空格,或 tab 分隔,默認允許所有主機訪問,也
    • 可在每個共享獨立配置,如在 [global] 設置,將應用并覆蓋所有共享設置
    • IPv4 network/prefix: 172.25.0.0/24 IPv4 前綴 : 172.25.0.
    • IPv4 network/netmask: 172.25.0.0/255.255.255.0
    • 主機名 : desktop.example.com
    • 以 example.com 后綴的主機名 : .example.com
  • 示例:
    • hosts allow = 172.25.
    • hosts allow = 172.25. .example.com
    • hosts deny 拒絕指定主機訪問

SAMBA 服務器全局配置

  • Log file=/var/log/samba/log.%m 不同客戶機采用不同日志
  • max log size=50 日志文件達到 50K ,將輪循 rotate, 單位 KB
  • Security 三種認證方式:
  • share :匿名 (CentOS7 不再支持 )
    • user : samba 用戶(采有 linux 用戶, samba 的獨立口令)
    • domain: 使用 DC ( DOMAIN CONTROLLER) 認證
  • passdb backend = tdbsam 密碼數據庫格式
  • 實現 samba 用戶:
    • 包: samba-common-tools
    • 工具: smbpasswd pdbedit
    • samba 用戶須是 Linux 用戶,建議使用 /sbin/nologin

管理 SAMBA 用戶

  • 添加 samba 用戶
    • smbpasswd -a <user>
    • pdbedit -a -u <user>
  • 修改用戶密碼
    • smbpasswd <user>
  • 刪除用戶和密碼:
    • smbpasswd –x <user>
    • pdbedit –x –u <user>
  • 查看 samba 用戶列表:/var/lib/samba/private/passdb.tdb
    • pdbedit –L –v
  • 查看 samba 服務器狀態: smbstatus

配置目錄共享

  • 每個共享目錄應該有獨立的 [ ] 部分
    • [ 共享名稱 ] 遠程網絡看到的共享名稱
    • comment 注釋信息
    • path 所共享的目錄路徑
    • public 能否被 guest 訪問的共享,和 guest ok 類似
    • browsable 是否允許所有用戶瀏覽此共享 , 默認為 yes,no 為隱藏
    • writable=yes 可以被所有用戶讀寫,默認為 no
    • read only=no 和 writable=yes 等價,如與以上設置沖突,放在后面的設置生效
    • write list 三種形式:用戶, @ 組名, + 組名 , 用,分隔如 writable=no ,列表中用戶或組可讀寫,不在列表中用戶只讀
    • valid users 特定用戶才能訪問該共享,如為空,將允許所有用戶,用戶名之間用空格分隔

SAMBA搭建

  • 首先測試yum源是否通,執行命令yumrepolist
[root@localhost ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
bash                                                                                                                                  | 4.0 kB     00:00     
repo id                                                                     repo name                                                                  status
bash                                                                        linux                                                                       6,706
epel                                                                        epel                                                                       12,355
repolist: 19,061
  • 在執行yum install samba -y
[root@localhost ~]# yum install samba -y
  • 接下來創建SAMBA系統用戶,執行命令useradd -s /sbin/nologin smb1,smb1隨便指定,但是添加的時候一定要同名
[root@localhost ~]# useradd -s /sbin/nologin  smb1
  • 在來添加成SAMBA用戶,執行命令smbpasswd -a smb1來添加,如果不加-a那就是修改密碼了,而且添加的同時必須和你的系統賬號同名
[root@localhost ~]# smbpasswd -a smb1
  • 添加完成以后執行pdbedit -L來查詢是否添加成功
[root@localhost ~]# pdbedit -L
smb1:501:
  • 添加完成以后,就可以啟動服務了執行命令service smb start
    • service smb start:是啟動
    • service smb restart:重啟服務
  • 啟動完畢以后用iptables -F,清除防火墻
[root@localhost ~]# iptables -F
  • OK以后你就可以去你的Windows鏈接你SAMBA了
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容