SMB(Server Messages Block,服務器消息塊)協議,是微軟和英特爾在1987年共同推出的,主要是解決局域網內的文件或打印機等資源的共享問題,這使得在多個主機之間共享文件變得愈來愈簡單。
Samba,是Tridgwell爲了解決Linux系統與windows系統之間的文件共享問題,基於SMB協議開發出來的服務程序。它是一款開源的文件共享軟件,通過簡單配置就可以實現Linux系統與windows系統之間的文件共享工做。
表1:Samba服務的配置參數以及做用
pdbedit命令用於管理SMB服務的帳戶信息數據,格式爲「pdbedit [參數] 帳戶」。
表2:pdbedit命令的參數以及做用
經過帳戶和密碼的驗證方式訪問共享資源
一、建立用於訪問共享資源的帳戶信息
注:第一次使用pdbedit命令寫入帳戶信息數據時須要使用-a參數,之後執行修改密碼、刪除帳戶等操做時就無需使用-a了。linux
useradd -M -s /sbin/nologin test pdbedit -a -u test
二、建立用於共享資源的目錄vim
mkdir -p /data/tools chown -Rf test:test /data/tools/
三、修改共享目錄的selinux安全上下文windows
semanage fcontext -a -t samba_share_t /data/tools restorecon -Rv /data/tools/
四、修改配置文件,添加以下內容vim /etc/samba/smb.conf
安全
[tools] #共享目錄名爲tools comment = Do not arbitrarily modify the tools file #描述信息 path = /data/tools #共享目錄的路徑 valid users = test #容許訪問該共享的用戶 public = no #不容許guest用戶訪問 writable = yes #容許寫入操做
五、配置firewalld防火牆容許Samba服務服務器
firewall-cmd --permanent --add-service=samba firewall-cmd --reload
六、啓動samba服務,並加入開機啓動dom
systemctl restart smb systemctl enable smb
七、windows訪問共享目錄
在windows的「運行」命令框中輸入\192.168.2.211\tools,輸入訪問共享資源的帳號和密碼,就能夠登錄到共享目錄了。
此時能夠測試一下上傳文件、下載文件,正常狀況下應該都OK。
八、Linux訪問共享目錄(在另外一臺linux機器上操做)
(1)安裝cifs-utils軟件包yum -y install cifs-utils
(2)將用戶名、密碼、共享域的信息寫入到一個認證文件中vim auth.smb
ide
username=test password=123456 domain=MYGROUP chmod 600 auth.smb
(3)建立一個用於掛載共享資源的目錄,並把掛載信息寫入/etc/fstab文件中測試
mkdir /data/test vim /etc/fstab
//192.168.2.211/tools /data/test cifs credentials=/root/auth.smb 0 0
mount -a
(4)測試
在共享目錄裏寫入一個測試文件echo "it is xuad" > /data/test/xuad.txt
在samba服務器上查看測試文件內容
經過guest用戶訪問共享資源
一、建立用於共享資源的目錄rest
mkdir /data/xuad chmod 777 /data/xuad/
二、修改共享目錄的selinux安全上下文code
semanage fcontext -a -t samba_share_t /data/xuad restorecon -Rv /data/xuad/
三、修改配置文件,添加以下內容vim /etc/samba/smb.conf
[xuad] comment = Fully shared directory path = /data/xuad public = yes #容許guest用戶訪問 writable = yes
四、檢查samba服務的配置是否正確testparm
五、重啓samba服務systemctl restart smb
六、windows訪問共享目錄此時能夠測試一下上傳文件、下載文件,正常狀況下應該都OK。