
目錄一、samba簡介二、Samba組成三、服務端smb.conf配置說明四、搭建samba共享服務1、關閉防火墻關閉selunix2、安裝 Samba3、創建 Samba 用戶4、創建共享目錄5、啟動 Samba 服務6、添加防火墻規則一、samba簡介Samba是一個能讓Linux系統應用Microsoft網絡通訊協議的軟件而SMB是Server Message Block的縮寫即為服務器消息塊SMB主要是作為Microsoft的網絡通訊協議后來Samba將SMB通信協議應用到了Linux系統上就形成了現在的Samba軟件。后來微軟又把 SMB 改名為 CIFSCommon Internet File System即公共 Internet 文件系統并且加入了許多新的功能這樣一來使得Samba具有了更強大的功能。Samba最大的功能就是可以用于Linux與windows系統直接的文件共享和打印共享Samba既可以用于windows與Linux之間的文件共享也可以用于Linux與Linux之間的資源共享由于NFS(網絡文件系統可以很好的完成Linux與Linux之間的數據共享因而 Samba較多的用在了Linux與windows之間的數據共享上面。使用samba和windows共享文件時候請確保windows的NetBIOS(就是網上鄰居功能)開啟了。二、Samba組成一個samba服務器實際上包含了兩個服務器程序smbd和nmbd。Smbd是samba的核心。它負責建立對話進程、驗證用戶身份、提供對文件系統和打印機的訪問機制只有smb服務啟動才能實現文件的共享。【TCP445】Nmbd實現了“Network Brower”網絡瀏覽服務器的功能實現NETBIOS(本地名稱解析)功能【UDP137/138TCP139】如果該服務沒有啟動則客戶端不能通過Linux系統共享的工作組名稱訪問共享文件而只能通過IP地址來訪問共享的文件。[rootsftp-paas samba]# netstat -tnlp |grep mbtcp 0 0 0.0.0.0:139 0.0.0.0:*LISTEN 10764/smbd tcp 0 0 0.0.0.0:445 0.0.0.0:*LISTEN 10764/smbd tcp6 0 0 :::139 :::*LISTEN 10764/smbd tcp6 0 0 :::445 :::*LISTEN 10764/smbdSamba還包含了一些實用工具。Smbclient是一個SMB客戶工具有shell-based用戶界面并同FTP有些類似。應用它可以復制其它的SMB服務器資源還可以訪問其它SMB服務器提供的打印機資源。三、服務端smb.conf配置說明[roothejie ~]# cat /etc/samba/smb.conf[global]//全局參數 workgroup SAMBA//工作組名稱 非常重要 security user//安全驗證方式總共四種//share無需驗證身份簡單方便安全性差//user需要驗證用戶密碼才可以訪問安全性高//server需要通過三方服務器驗證賬號密碼集中管理賬戶//domain使用域控制器進行身份驗證 passdb backend tdbsam//定義用戶后臺的類型共有三種//smbpasswd為系統用戶設置Samba服務程序的密碼//tdbsam創建數據庫文件并使用pdbedit命令建立Samba服務程序的用戶//ldapsam基于LDAP服務進行賬戶驗證 printing cups//設置Samba共享打印機的類型 printcap name cups//設置共享打印機的配置文件 load printers yes//設置在Samba服務啟動時是否共享打印機設備 cups options raw//打印機的選項[homes]//共享參數 comment Home Directories//描述信息 valid users %S,%D%w%S//允許訪問該共享的用戶 browseable No//指定共享信息是否可見 read only No inherit acls Yes[printers]comment All Printers//任意字符串 path /var/tmp//共享目錄路徑 printable Yes create mask 0600 browseable No//指定該共享是否可以瀏覽[print$]comment Printer Drivers path /var/lib/samba/driverswritelist root//允許寫入該共享的用戶 create mask 0664 directory mask 0775四、搭建samba共享服務1、關閉防火墻關閉selunix[roothejie ~]# setenforce 0[roothejie ~]# systemctl stop firewalld2、安裝 Samba軟件安裝sudo yum install samba-y編輯 Samba 配置文件使用文本編輯器打開 Samba 配置文件 /etc/samba/smb.confsudo vim/etc/samba/smb.conf#添加共享定義在文件的末尾添加共享定義。以下是一個示例共享定義的模板[share]comment Shared Folder path /path/to/shared/folder browseable yes read only no valid users usernameshare 是共享的名稱您可以根據自己的需求進行更改。 comment 是對共享的描述可以根據需要進行修改。 path 是要共享的文件夾的路徑請將 /path/to/shared/folder 替換為實際的文件夾路徑。 browseable 設置為 yes 可以在網絡上瀏覽該共享文件夾。 read only 設置為 no 允許用戶對共享文件夾進行讀寫操作。 valid users 指定允許訪問該共享的用戶名多個用戶可以用逗號分隔。 生產環境示例 [lansensddi] comment Share Files path /home/sftp/lansen/sddi valid users lansensddi public No writable Yes browseable Yes保存并關閉文件在完成編輯后保存并關閉文件。3、創建 Samba 用戶為了允許用戶訪問 Samba 共享需要創建相應的 Samba 用戶。使用以下命令創建一個新的 Samba 用戶sudo useradd-s/sbin/nologin-M username sudo smbpasswd-a username將 “username” 替換為要創建的 Samba 用戶的實際用戶名并設置相應的密碼。4、創建共享目錄mkdir-p/home/sftp/lansen/sddi5、啟動 Samba 服務啟動 Samba 服務以使配置生效。使用以下命令啟動 Samba 服務sudo systemctlstartsmb6、添加防火墻規則如果 CentOS 7 上正在運行防火墻如 firewalld請確保允許 Samba 服務通過防火墻。使用以下命令添加相應的防火墻規則sudo firewall-cmd--permanent--add-servicesamba sudo firewall-cmd--reload至此您已成功在 CentOS 7 上配置了 Samba 共享文件夾。其他計算機上的用戶可以通過網絡瀏覽并訪問共享的文件夾。請確保在實際的共享路徑上設置適當的權限以便允許 Samba 用戶進行讀寫操作。