絡(luò)文件共享服務(wù) - Samba詳解)
目錄一、samba簡介二、Samba組成三、服務(wù)端smb.conf配置說明四、搭建samba共享服務(wù)1、關(guān)閉防火墻關(guān)閉selunix2、安裝 Samba3、創(chuàng)建 Samba 用戶4、創(chuàng)建共享目錄5、啟動 Samba 服務(wù)6、添加防火墻規(guī)則一、samba簡介Samba是一個能讓Linux系統(tǒng)應(yīng)用Microsoft網(wǎng)絡(luò)通訊協(xié)議的軟件而SMB是Server Message Block的縮寫即為服務(wù)器消息塊SMB主要是作為Microsoft的網(wǎng)絡(luò)通訊協(xié)議后來Samba將SMB通信協(xié)議應(yīng)用到了Linux系統(tǒng)上就形成了現(xiàn)在的Samba軟件。后來微軟又把 SMB 改名為 CIFSCommon Internet File System即公共 Internet 文件系統(tǒng)并且加入了許多新的功能這樣一來使得Samba具有了更強(qiáng)大的功能。Samba最大的功能就是可以用于Linux與windows系統(tǒng)直接的文件共享和打印共享Samba既可以用于windows與Linux之間的文件共享也可以用于Linux與Linux之間的資源共享由于NFS(網(wǎng)絡(luò)文件系統(tǒng)可以很好的完成Linux與Linux之間的數(shù)據(jù)共享因而 Samba較多的用在了Linux與windows之間的數(shù)據(jù)共享上面。使用samba和windows共享文件時候請確保windows的NetBIOS(就是網(wǎng)上鄰居功能)開啟了。二、Samba組成一個samba服務(wù)器實(shí)際上包含了兩個服務(wù)器程序smbd和nmbd。Smbd是samba的核心。它負(fù)責(zé)建立對話進(jìn)程、驗(yàn)證用戶身份、提供對文件系統(tǒng)和打印機(jī)的訪問機(jī)制只有smb服務(wù)啟動才能實(shí)現(xiàn)文件的共享。【TCP445】Nmbd實(shí)現(xiàn)了“Network Brower”網(wǎng)絡(luò)瀏覽服務(wù)器的功能實(shí)現(xiàn)NETBIOS(本地名稱解析)功能【UDP137/138TCP139】如果該服務(wù)沒有啟動則客戶端不能通過Linux系統(tǒng)共享的工作組名稱訪問共享文件而只能通過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還包含了一些實(shí)用工具。Smbclient是一個SMB客戶工具有shell-based用戶界面并同F(xiàn)TP有些類似。應(yīng)用它可以復(fù)制其它的SMB服務(wù)器資源還可以訪問其它SMB服務(wù)器提供的打印機(jī)資源。三、服務(wù)端smb.conf配置說明[roothejie ~]# cat /etc/samba/smb.conf[global]//全局參數(shù) workgroup SAMBA//工作組名稱 非常重要 security user//安全驗(yàn)證方式總共四種//share無需驗(yàn)證身份簡單方便安全性差//user需要驗(yàn)證用戶密碼才可以訪問安全性高//server需要通過三方服務(wù)器驗(yàn)證賬號密碼集中管理賬戶//domain使用域控制器進(jìn)行身份驗(yàn)證 passdb backend tdbsam//定義用戶后臺的類型共有三種//smbpasswd為系統(tǒng)用戶設(shè)置Samba服務(wù)程序的密碼//tdbsam創(chuàng)建數(shù)據(jù)庫文件并使用pdbedit命令建立Samba服務(wù)程序的用戶//ldapsam基于LDAP服務(wù)進(jìn)行賬戶驗(yàn)證 printing cups//設(shè)置Samba共享打印機(jī)的類型 printcap name cups//設(shè)置共享打印機(jī)的配置文件 load printers yes//設(shè)置在Samba服務(wù)啟動時是否共享打印機(jī)設(shè)備 cups options raw//打印機(jī)的選項(xiàng)[homes]//共享參數(shù) 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共享服務(wù)1、關(guān)閉防火墻關(guān)閉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 是共享的名稱您可以根據(jù)自己的需求進(jìn)行更改。 comment 是對共享的描述可以根據(jù)需要進(jìn)行修改。 path 是要共享的文件夾的路徑請將 /path/to/shared/folder 替換為實(shí)際的文件夾路徑。 browseable 設(shè)置為 yes 可以在網(wǎng)絡(luò)上瀏覽該共享文件夾。 read only 設(shè)置為 no 允許用戶對共享文件夾進(jìn)行讀寫操作。 valid users 指定允許訪問該共享的用戶名多個用戶可以用逗號分隔。 生產(chǎn)環(huán)境示例 [lansensddi] comment Share Files path /home/sftp/lansen/sddi valid users lansensddi public No writable Yes browseable Yes保存并關(guān)閉文件在完成編輯后保存并關(guān)閉文件。3、創(chuàng)建 Samba 用戶為了允許用戶訪問 Samba 共享需要創(chuàng)建相應(yīng)的 Samba 用戶。使用以下命令創(chuàng)建一個新的 Samba 用戶sudo useradd-s/sbin/nologin-M username sudo smbpasswd-a username將 “username” 替換為要創(chuàng)建的 Samba 用戶的實(shí)際用戶名并設(shè)置相應(yīng)的密碼。4、創(chuàng)建共享目錄mkdir-p/home/sftp/lansen/sddi5、啟動 Samba 服務(wù)啟動 Samba 服務(wù)以使配置生效。使用以下命令啟動 Samba 服務(wù)sudo systemctlstartsmb6、添加防火墻規(guī)則如果 CentOS 7 上正在運(yùn)行防火墻如 firewalld請確保允許 Samba 服務(wù)通過防火墻。使用以下命令添加相應(yīng)的防火墻規(guī)則sudo firewall-cmd--permanent--add-servicesamba sudo firewall-cmd--reload至此您已成功在 CentOS 7 上配置了 Samba 共享文件夾。其他計(jì)算機(jī)上的用戶可以通過網(wǎng)絡(luò)瀏覽并訪問共享的文件夾。請確保在實(shí)際的共享路徑上設(shè)置適當(dāng)?shù)臋?quán)限以便允許 Samba 用戶進(jìn)行讀寫操作。