Samba文件共享服務

Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的一種通信協議,它爲局域網內的不同計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,客戶機通過該協議可以訪問服務器上的共享文件系統、打印機及其他資源。通過設置“NetBIOS over TCP/IP”使得Samba不但能與局域網絡主機分享資源,還能與全世界的電腦分享資源。

 

實驗準備

操作系統: linux Redhat6.5作爲服務器、Windows7作爲客戶端

 

Samba文件共享服務搭建步驟

1.安裝Samba軟件包,並備份配置文件

mount /dev/sr0 /mnt

rpm -ivh /mnt/Packages/samba-3.6.9-164.el6.x86_64.rpm

cd /etc/samba

mv smb.conf smb.conf.bak                 #先備份配置文件,以防出錯無法恢復

grep -v "#" smb.conf.bak > smb.conf      #反向過濾配置文件中帶有“#“的掉無用的註釋內容,重定向到smb.conf文件中

2.設置可匿名訪問的共享

2.1 創建共享文件夾,並更改文件夾的屬性,以便於所有人都能操作

mkdir /opt/abc

chmod 777 /opt/abc

2.2 修改配置文件

vim /etc/samba/samba.conf

security = share         #安全級別改爲share,登陸的匿名用戶名爲nobody

[share]                  #共享目錄的名稱

path=/opt/abc            #共享目錄在服務器中對應的路徑

public=yes               #是否允許所有人訪問等效於guest ok        

browseable=yes           #允許訪問,使共享目錄在客戶端的網上鄰居中可見   

writable=yes             #允許寫入,代表所有人,於read only的作用相反

create mask=0644         #用戶上傳的文件的默認權限

directory mask=0755      #創建子目錄的默認權限

2.3 設置完成之後,開啓服務,關閉防火牆和增強型安全功能

service smb start

service iptables stop

setenforce 0

2.4 匿名帳戶測試

blob.png

blob.png

 

3.設置需本地用戶驗證的共享

3.1   創建共享文件夾

mkdir /opt/bendi

chmod 777 /opt/bendi

3.2 修改配置文件

vim /etc/samba/samba.conf

security = user                #本地用戶訪問改爲user

[bendi]

path=/opt/bendi

browseable=yes

create mask=0644

directory mask=0755

valid users=zhangsan,lisi      #只允許指定用戶登錄

write list=lisi                #只允許指定用戶寫入

3.3 設置smb密碼

smbpasswd -a zhangsan          #設置smb密碼

smbpasswd -a lisi

smbpasswd –L                  #查看smb中的用戶

3.4 重啓服務

service smb restart

3.5 本地用戶測試

blob.png

blob.png

在使用本地用戶登陸之後,由於Windows7系統的緩存機制,所以需要使用系統命令提示符cmd輸入net use * /d命令清理緩存後再次輸入地址登陸lisi賬戶

blob.png

 

4.設置賬戶映射虛擬用戶

4.1創建共享文件夾

mkdir /opt/username

chmod 777 /opt/username

4.2 修改賬戶的映射文件

vim /etc/samba/smbusers

zhangsan = u01 u02 u03          #在末尾添加共享賬戶映射的別名

4.3 修改配置文件

vim /etc/samba/samba.conf

[global]

security = user

username map=/etc/samba/smbusers   #在全局配置項添加

[username]

path=/opt/username

browseable=yes

create mask=0644

directory mask=0755

valid users=zhangsan

write list=zhangsan

4.4 重啓服務

service smb restart

4.5 虛擬賬戶測試

blob.png

blob.png

 

5.訪問地址限制

vim /etc/samba/samba.conf

#一般應用於全局配置[glodal]部分,也可以應用於某個具體的共享配置段部分

hosts deny = 192.168.10    192.168.20      #省去主機部分,黑名單

hosts allow =                              #白名單

                                           #兩種方式任選其中一種即可

 

補充

Samba服務的日誌文件位於 /etc/log/samba/ 目錄中

netstat -anptu | grep “smbd”             #查看Samba服務的網絡連接狀態

smbd程序負責監聽TCP協議的139端口(SMB協議)、445端口(CIFS協議)

nmbd服務程序負責監聽UDP協議的137-138端口(NetBIOS協議)

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章