samba是在linux和unix系統(tǒng)上實現(xiàn)smb協(xié)議的一個免費軟件,由服務器及客戶端程序構成。smb(server messages block,信息服務塊)是一種在局域網(wǎng)上共享文件和打印機的一種通信協(xié)議,它為局域網(wǎng)內(nèi)的不同計算機之間提供文件及打印機等資源的共享服務。smb協(xié)議是客戶機/服務器型協(xié)議,客戶機通過該協(xié)議可以訪問服務器上的共享文件系統(tǒng)、打印機及其他資源。通過設置“netbios over tcp/ip”使得samba不但能與局域網(wǎng)絡主機分享資源,還能與全世界的電腦分享資源。
準備
一臺centos 7 的系統(tǒng),比如我的ip是:172.16.10.129。
一臺windows 10系統(tǒng)的電腦
確保windows10的工作組和samba的工作組一致,比如我的電腦工作組是wordgroup。
net config workstation
安裝
輸入如下命令完成samba的安裝。
yum install samba samba-client samba-common配置
samba的配置文件路徑/etc/samba/smb.conf,在修改之前先做個備份(請注意,這是一個好習慣)。
cp -pf /etc/samba/smb.conf /etc/samba/smb.conf.bak然后清空smb.conf,cat /dev/null比一條條刪除快很多。
cat /dev/null >?/etc/samba/smb.conf匿名配置輸入如下內(nèi)容到配置文件smb.conf
[global]workgroup = workgroupserver string = samba server %vnetbios name = centossecurity = usermap to guest = bad userdns proxy = no#============================ share definitions ============================== [anonymous]path = /samba/anonymousbrowsable =yeswritable = yesguest ok = yesread only = no這個配置會先創(chuàng)建一個任何人可讀寫的目錄anonymouse。
mkdir -p /samba/anonymoussystemctl enable smb.servicesystemctl enable nmb.servicesystemctl restart smb.servicesystemctl restart nmb.service設置文件夾的權限
cd /sambachmod -r 0755 anonymous/chown -r nobody:nobody anonymous/ls -l anonymous/如果開啟了selinux,輸入如下命令已允許selinux用于samba配置。
chcon -t samba_share_t anonymous/在windows電腦上測試,確認匿名可讀寫。
安全配置如果需要對文件夾設置權限,一般我們還需要添加用戶認證。
創(chuàng)建組
groupadd smbgrp添加用戶
useradd zhangnq -g smbgrp設置密碼
smbpasswd -a zhangnq添加需要認證訪問的文件夾,配置權限為777,所有人可讀寫。
mkdir -p /samba/securedcd /sambachmod -r 0777 secured/或者設置權限
chown -r zhangnq:smbgrp secured/然后再編輯/etc/samba/smb.conf,添加如下內(nèi)容到文件末尾。
[secured]path = /samba/securedvalid users = @smbgrpguest ok = nowritable = yesbrowsable = yes重啟samba服務
systemctl restart smb.servicesystemctl restart nmb.service在windows電腦上測試,打開secured就會提示輸入用戶名密碼,如下圖所示。
可能的問題
1、端口不通,無法連接。
如果centos有打開firewalld防火墻,需要添加相關的端口。
firewall-cmd --permanent --zone=public --add-service=sambafirewall-cmd --reload2、如何在linux上連接測試。
smbclient //172.16.10.129/secured -u zhangnq
3、xp win2003電腦無法連接samba共享目錄。
從samba 4.5開始,ntlm auth參數(shù)默認值由“yes”變?yōu)椤皀o”。導致默認情況下使用ntlm級別lan manager身份驗證的客戶端不允許登錄samba服務器,受影響的客戶端包括windows xp、windows2003等。
解決方法(任選一種都可解決):
a. samba服務器端smb.conf配置文件中添加“ntlm auth = yes”后重啟smb服務。
b. windows xp客戶端修改本地安全設置、安全選項、“網(wǎng)絡安全:lan manager身份驗證級別”的值為“僅發(fā)送 ntlmv2響應”。
==== end ====
參考鏈接:
https://www.howtoforge.com/samba-server-installation-and-configuration-on-centos-7
https://blog.csdn.net/u012134780/article/details/85329857