samba服務

1.什麼是samba服務

Samba是用來實現SMB的一種軟件,SMB(全稱是Server Message Block)是一個協議名,它能被用於Web連接和客戶端與服務器之間的信息溝通。Samba服務可用於將linux文件系統作爲CIFS/SMB網絡文件共享進行共享,並將linux打印機作爲CIFS/SMB打印機共享進行共享。

2.samba服務端與客戶端的安裝與配置

(1)服務端的安裝與配置

進行軟件安裝之前可以先search一下要安裝的軟件,以確定具體安裝哪一些。


[root@smb-server ~]# yum install samba-client.x86_64 samba.x86_64 samba-common.x86_64 -y
[root@smb-server ~]# systemctl start smb

[root@smb-server ~]# netstat -antlupe | grep smb  #查看該服務的端口狀態


[root@smb-server ~]# smbclient -L //172.25.254.212 #以匿名用戶身份列出samba服務器的信息,"-L"表示列出


[root@smb-server ~]# smbpasswd -a student #爲samba服務器添加一個用戶,但是必須是已經存在的系統用戶。


[root@smb-server ~]# smbclient -L //172.25.254.212 -U student #以student用戶身份列出samba服務器信息

[root@smb-server ~]# smbclient //172.25.254.212/student -U student #以student用戶身份進入samba服務器(匿名用戶不能直接進入)


注意:若是出現如下報錯,則是由於selinux的作用,做第三行操作即可



(2)客戶端的安裝與配置
[root@smb-client ~]# yum install samba-client -y
[root@smb-client ~]# mount -o username=student,password=student //172.25.254.212/student /mnt

掛載後的效果:


注意:若是出現如下圖問題,先檢查服務端和客戶端的網是否能ping通,再就有可能是服務器端的防火牆沒有關閉。


3.服務器端創建一個目錄,客戶端以samba用戶掛載並訪問該目錄

(1)服務器端

[root@smb-server ~]# vim /etc/samba/smb.conf #編輯該服務的配置文件,如下圖


[root@smb-server ~]# mkdir /freya        #與該配置文件添加的path對應
[root@smb-server ~]# systemctl restart smb

[root@smb-server ~]# smbclient -L //172.25.254.212 #以匿名用戶身份查看該samba的信息

如圖:下圖標註部分與配置文件添加的comment對應


(2)客戶端

[root@smb-client ~]# mount -o username=student,password=student //172.25.254.212/DATA /mnt


如圖:掛載後進入該目錄,想要刪除一個文件出現如下報錯,這是屬於該samba服務器端的本身不允許。


只需要在服務器端做如下更改,將/ferya目錄變爲允許write


成功刪除:


如圖:想新建一個文件,出現如下報錯,該samba服務是允許的,但是服務端的/freya目錄本身對student用戶不可寫,屬於文件系統的拒絕。


只需要在服務器端令student用戶對該目錄有w的權限

[root@smb-server ~]# setfacl -m u:student:rwx /freya

成功建立:


Tips:若是想以samba用戶student身份永久性掛載在客戶端

[root@smb-client ~]# vim /etc/fstab 如圖


4.客戶端以匿名用戶的身份掛載指定samba服務目錄

由於默認情況下是不允許以匿名用戶的身份掛載指定samba服務目錄的。

如圖:


(1)服務端

[root@smb-server ~]# vim /etc/samba/smb.conf


 第256行表示是將所有匿名用戶都匹配到guest,第325行表示允許guest用戶
[root@smb-server ~]# systemctl restart smb

成功以匿名用戶身份進入服務目錄


(2)客戶端測試

永久性掛載

5、客戶端配置文件的一些參數添加


326行表示該服務對samba用戶student可寫

327行表示該服務對samba用戶student的組可寫,即一個用戶加入到student組中,那麼它對該服務寫的權限。

328行表示給freya用戶以超級用戶的身份,但是仍然要與writeable=yes 配合使用,因爲writeable=yes表示該服務可寫,而328的參數表示freya用戶對該共享名DATA所在的目錄/freya有寫的權限,是以超級用戶的身份進入該目錄做一系列操作。

如上圖,/freya目錄對用戶freya並不可寫,只對student用戶可寫,而如下圖以freya用戶身份在客戶端上掛載使用,卻可以touch一個文件,這正是admin users = freya 在生效。


329行表示其瀏覽功能已經被關閉,則該共享名DATA不會出現在瀏覽列表中,如下圖,看不到DATA信息。

330行表示samba用戶zxy是非法用戶,即不能以該用戶的身份掛載使用

6、SMB多用戶掛載


如上圖,若是使用samba用戶在遠程主機(客戶端)上掛載使用共享文件的辦法,將共享文件掛載上後,若該客戶端有其他用戶,仍舊可以進入掛載目錄並查看文件內容,這樣是不安全的。故我們有以下辦法,上圖的student是客戶端的用戶和samba用戶student不同

客戶端配置:

(1)軟件安裝


(2)將服務端samba用戶student的用戶名和密碼保存在/root/smb-multiuser.txt文件中


(3)爲了安全起見,給該文件一個600的權限

(4)客戶端用戶root以samba用戶student身份掛載使用DATA共享

如上圖,root用戶使用了student身份掛載使用DATA,那麼student用戶對該目錄有W權限,自然就可以touch一個文件了,那麼該文件的所屬人以舊所屬組仍舊是student而不是root,而之前建立的/root/smb-multiuser.txt文件則就是使用 student身份的鑰匙。

那麼這個時候客戶端用戶切換,再查看該掛載目錄下的文件,則權限不足

(5)那如果需要客戶端上的其他用戶能夠進入該掛載目錄並使用該共享文件的時候(下圖以student用戶爲例),我們可以做如下操作

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