1.什麼是samba服務
Samba是用來實現SMB的一種軟件,SMB(全稱是Server Message Block)是一個協議名,它能被用於Web連接和客戶端與服務器之間的信息溝通。Samba服務可用於將linux文件系統作爲CIFS/SMB網絡文件共享進行共享,並將linux打印機作爲CIFS/SMB打印機共享進行共享。
2.samba服務端與客戶端的安裝與配置
(1)服務端的安裝與配置
進行軟件安裝之前可以先search一下要安裝的軟件,以確定具體安裝哪一些。
[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服務器(匿名用戶不能直接進入)
(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 ~]# systemctl restart smb
[root@smb-server ~]# smbclient -L //172.25.254.212 #以匿名用戶身份查看該samba的信息
如圖:下圖標註部分與配置文件添加的comment對應
[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成功建立:
[root@smb-client ~]# vim /etc/fstab 如圖
4.客戶端以匿名用戶的身份掛載指定samba服務目錄
由於默認情況下是不允許以匿名用戶的身份掛載指定samba服務目錄的。如圖:
[root@smb-server ~]# vim /etc/samba/smb.conf
[root@smb-server ~]# systemctl restart smb
成功以匿名用戶身份進入服務目錄
永久性掛載
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用戶爲例),我們可以做如下操作