如何快速搭建Linux系統中Samba服務

weixin_49228721發表於2020-10-14

- 概述

Samba最大的功能就是可以用於Linux與windows系統直接的檔案共享和列印共享,Samba既可以用於windows與Linux之間的檔案共享,也可以用於Linux與Linux之間的資源共享,由於NFS(網路檔案系統)可以很好的完成Linux與Linux之間的資料共享,因而 Samba較多的用在了Linux與windows之間的資料共享上面。 
 SMB是基於客戶機/伺服器型的協議,因而一臺Samba伺服器既可以充當檔案共享伺服器,也可以充當一個Samba的客戶端,例如,一臺在Linux 下已經架設好的Samba伺服器,windows客戶端就可以通過SMB協議共享Samba伺服器上的資原始檔,同時,Samba伺服器也可以訪問網路中 其它windows系統或者Linux系統共享出來的檔案。
 組成Samba執行的有兩個服務,一個是SMB,另一個是NMB;SMB是Samba 的核心啟動服務,主要負責建立 Linux Samba伺服器與Samba客戶機之間的對話, 驗證使用者身份並提供對檔案和列印系統的訪問,只有SMB服務啟動,才能實現檔案的共享,監聽139 TCP埠;而NMB服務是負責解析用的,類似與DNS實現的功能,NMB可以把Linux系統共享的工作組名稱與其IP對應起來,如果NMB服務沒有啟動,就只能通過IP來訪問共享檔案,監聽137和138 UDP埠。
初始化服務

初始化虛擬機器並關閉防火牆服務,之前文章有介紹

測試連通性
伺服器的網路卡設定

在這裡插入圖片描述
Win10客戶機
在這裡插入圖片描述
Win10客戶機已連通伺服器

實驗步驟

1.安裝samba服務

[root@server1 ~]# yum -y install samba*

2.寫入測試檔案

[root@server1 ~]# mkdir /share
[root@server1 ~]# echo aaa > /share/a.txt
[root@server1 ~]# cat /share/a.txt 
aaa

3.設定許可權

[root@server1 ~]# chmod -R 777 /share

4.更改配置檔案,在配置檔案末尾加上如下程式

[share]
        comment = a share direcotry
        path = /share
        read only = yes
        valid users = lisi, tom
        write list = lisi
        hosts allow = 192.168.1.

5.啟動服務

[root@server1 ~]# systemctl start smb
[root@server1 ~]# systemctl start nmb

6.建立samba使用者

[root@server1 ~]# pdbedit -a -u lisi   #建立samba使用者設定密碼
new password:
retype new password:
[root@server1 ~]# pdbedit -a -u tom
new password:
retype new password:

7.設定密碼為123456,出現如下介面
在這裡插入圖片描述
8.客戶機Win10測試
伺服器的網址ip為192.168.1.100
在這裡插入圖片描述
輸入lisi和密碼
在這裡插入圖片描述
在這裡插入圖片描述
進入share資料夾
在這裡插入圖片描述
9.新建一個 b檔案
在這裡插入圖片描述
建立成功,表明使用者lisi有讀寫許可權
tom使用者進入

在這裡插入圖片描述
在這裡插入圖片描述
新建檔案,表示沒有寫入許可權,實驗正常。
10.Linux客戶機測試
lisi使用者
在這裡插入圖片描述

[root@server3 ~]# systemctl stop firewalld.service   #關閉防火牆
[root@server3 ~]# setenforce 0      #關閉核心防護
[root@server3 ~]# smbclient //192.168.1.10/share -U lisi         #連線伺服器
Enter SAMBA\lisi's password: 
Domain=[SERVER1] OS=[Windows 6.1] Server=[Samba 4.10.4]
smb: \> put anaconda-ks.cfg     #上傳anaconda-ks.cfg,驗證寫許可權
putting file anaconda-ks.cfg as \anaconda-ks.cfg (28.2 kb/s) (average 28.2 kb/s)
smb: \> get a.txt               #下載a.txt驗證讀許可權
getting file \a.txt of size 4 as a.txt (1.3 KiloBytes/sec) (average 1.3 KiloBytes/sec)
smb: \> quit

客戶機share目錄
在這裡插入圖片描述
tom使用者連線
在這裡插入圖片描述
伺服器share目錄
在這裡插入圖片描述
tom並未上傳成功,由此可知tom有讀許可權,無寫許可權。

將samba共享資料夾掛載到根目錄下

在這裡插入圖片描述

[root@server3 ~]# mkdir /mydata
[root@server3 ~]# mount -o username=lisi //192.168.1.10/share /mydata
Password for lisi@//192.168.1.10/share:  ******
[root@server3 ~]# cd /mydata
[root@server3 mydata]# touch aaa
[root@server3 mydata]# touch 123123

伺服器共享目錄下檔案存在
在這裡插入圖片描述

相關文章