Samba服務

元卿發表於2024-07-19

一、實驗目的:

  1. 掌握Linux環境中軟體的安裝。
  2. 搭建Samba伺服器,基本瞭解搭建伺服器的基本步驟。
  3. 理解Samba伺服器作用與工作原理。

二、實驗環境:

作業系統:Centos7 Windows 10
硬體裝置:虛擬機器

三、實驗步驟及結果:

某院系構建一臺資源共享伺服器,為本院系網路班和雲端計算班的的計算機提供檔案共享服務,客戶端計算機採用使用者隔離的方式訪問伺服器上的資源,實現Windows和Linux資源共享。要求網路班的資料存放在samba伺服器(smb.dingli.com)的/mnt/network目錄中,雲端計算班的資料存放在samba伺服器的/mnt/cloud目錄中。

1. 安裝Samba伺服器

配置本地源

[root@servera ~]# lsblk 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  300M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0 17.7G  0 part /
sr0     11:0    1  9.5G  0 rom  /run/media/root/CentOS 7 x86_64
sr1     11:1    1 1024M  0 rom  
[root@servera ~]# mkdir /mnt/cdrom
[root@servera ~]# mount /dev/cdrom /mnt/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only
[root@servera ~]# rm -rf /etc/yum.repos.d/*
[root@servera ~]# vim /etc/yum.repos.d/local.repo
[root@servera ~]# yum makecache 
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
local                                                    | 3.6 kB     00:00     
(1/4): local/group_gz                                      | 153 kB   00:00     
(2/4): local/primary_db                                    | 6.1 MB   00:00     
(3/4): local/filelists_db                                  | 7.2 MB   00:00     
(4/4): local/other_db                                      | 2.6 MB   00:00     
Metadata Cache Created

image.png

安裝samba服務

image.png

2. 建立共享目錄

mkdir -p /mnt/network
mkdir -p /mnt/cloud

image.png

3. 配置Samba

編輯Samba的主配置檔案,通常是/etc/samba/smb.conf。在檔案末尾新增以下內容,以定義兩個共享目錄及其許可權:

vim /etc/samba/smb.conf

[network]
comment = Network Class Share
path = /mnt/network
browseable = yes
writable = yes
create mask = 0664
directory mask = 0775
force group = network_class
valid users = @network_class
force user = nobody
[cloud]
comment = Cloud Computing Class Share
path = /mnt/cloud
browseable = yes
writable = yes
create mask = 0664
directory mask = 0775
force group = cloud_class
valid users = @cloud_class
force user = nobody

image.png

4. 建立使用者組和使用者

為每個班級建立一個使用者組,併為每個使用者分配到相應的組中。假設網路班的使用者組為network_class,雲端計算班的使用者組為cloud_class。

groupadd network_class
groupadd cloud_class
useradd -m user1 -g network_class
useradd -m user2 -g cloud_class
passwd user1
passwd user2

image.png

5. 設定目錄許可權

chown -R root:network_class /mnt/network
chmod -R 2775 /mnt/network

chown -R root:cloud_class /mnt/cloud
chmod -R 2775 /mnt/cloud

image.png

6. 加入Samba使用者

smbpasswd -a user1
smbpasswd -a user2

image.png

7.啟動服務與防火牆

systemctl restart smb.service 
setenforce 0
systemctl stop firewalld.service 
systemctl status smb.service 

image.png

8. 測試與客戶端配置

現在,網路班的使用者(如user1)應該只能訪問network共享,而云計算班的使用者(如user2)只能訪問cloud共享。在Windows客戶端上,使用者可以透過檔案瀏覽器輸入smb://smb.dingli.com/network或smb://smb.dingli.com/cloud來訪問相應的共享資源,同時輸入各自的使用者名稱和密碼進行身份驗證。
伺服器IP
image.png

Cloud測試

image.pngimage.pngimage.png
image.png
image.png

Network測試

image.pngimage.pngimage.png

相關文章