linux的samba是什麼

2022-04-14 19:00:33

在linux中,samba是一個基於SMB協定的開源軟體,是一個能讓Linux系統應用Microsoft網路通訊協定的軟體。samba軟體既可以用於windows與Linux之間的檔案共用,也可以用於Linux與Linux之間的資源共用。

本教學操作環境:linux5.9.8系統、Dell G3電腦。

一、Samba 概述

1. samba 簡介

Samba 是在 Linux 和 UNIX 系統上實現 SMB 協定的一個免費軟體,由伺服器及使用者端程式構成。

SMB 是一種在區域網上共用檔案和印表機的一種通訊協定,它為區域網內的不同計算機之間提供檔案及印表機等資源的共用服務。

SMB 協定是 C/S 型協定,客戶機通過該協定可以存取伺服器上的共用檔案系統、印表機及其他資源。

samba是一個能讓Linux系統應用Microsoft網路通訊協定的軟體,samba最大的功能就是可以用於Linux與windows系統直接的檔案共用和列印共用,samba既可以用於windows與Linux之間的檔案共用,也可以用於Linux與Linux之間的資源共用。

Samba的服務組成

1)SMB是samba 的核心啟動服務,主要負責建立Linux samba伺服器與samba客戶機之間的對話, 驗證使用者身份並提供對檔案和列印系統的存取,只有SMB服務啟動,才能實現檔案的共用,監聽139 TCP埠。

2)NMB服務是負責解析用的,類似與DNS實現的功能,NMB可以把Linux系統共用的工作組名稱與其IP對應起來,如果NMB服務沒有啟動,就只能通過IP來存取共用檔案,監聽137和138 UDP埠。

安裝samba服務

yum -y install samba

檢視安裝狀況

rpm -qa | grep samba

2. samba 監聽埠

TCPUDP
139 | 445137 | 138
  • tcp 埠相對應的服務是 smbd 服務,其作用是提供對伺服器中檔案、列印資源的共用存取
  • udp 埠相對應的服務是 nmbd 服務,其作用是提供基於 NetBIOS 主機名稱的解析

3. samba 程序

程序對應
nmbd對應 netbios
smbd對應 cifs 協定
winbindd + ldap對應 Windows AD 活動目錄

4. samba 使用者

帳號密碼
都是系統使用者 /etc/passwdSamba 服務自有密碼檔案通過 smbpasswd -a USERNAME 命令設定
//smbpasswd 命令:
    -a Sys_User     //新增系統使用者為 samba 使用者併為其設定密碼
    -d              //禁用使用者帳號
    -e              //啟用使用者帳號
    -x              //刪除使用者帳號
 
 
[root@localhost ~]# yum -y install samba-*
[root@localhost ~]# useradd tom
[root@localhost ~]# smbpasswd -a tom
New SMB password:
Retype new SMB password:
Added user tom.

5. samba 安全級別

Samba 伺服器的安全級別有三個,分別是 user,server,domain

安全級別作用
user基於原生的驗證
server由另一臺指定的伺服器對使用者身份進行認證
domain由域控進行身份驗證
  • 以前的 samba 版本支援的安全級別有四個,分別是 share,user,server,domain
  • share 是用來設定匿名存取的,但現在的版本已經不支援 share 了,但是還是可以實現匿名存取的只是設定方式變了

6. samba 組態檔

  • /etc/samba/smb.conf(主組態檔)
samba 三大組成作用
[global]全域性設定,此處的設定項對整個 samba 伺服器都有效
[homes]宿主目錄共用設定,此處用來設定 Linux 使用者的預設共用,對應使用者的宿主目錄。 當使用者存取伺服器中與自己使用者名稱同名的共用目錄時,通過驗證後將會自動對映到該使用者的宿主目錄中
[printers]印表機共用設定

7. 常用組態檔引數

引數作用
workgroup表示設定工作組名稱
server string表示描述 samba 伺服器
security表示設定安全級別,其值可為 share、user、server、domain
passdb backend表示設定共用帳戶檔案的型別,其值可為 tdbsam(tdb資料庫檔案)、ldapsam(LDAP目錄認證)、smbpasswd(相容舊版本 samba 密碼檔案)
comment表示設定對應共用目錄的註釋,說明資訊,即檔案共用名
browseable表示設定共用是否可見
writable表示設定目錄是否可寫
path表示共用目錄的路徑
guest ok表示設定是否所有人均可存取共用目錄
public表示設定是否允許匿名使用者存取
write list表示設定允許寫的使用者和組,組要用 @ 表示,例如 write list = root,@root
valid users設定可以存取的使用者和組,例如 valid users = root,@root
hosts deny設定拒絕哪臺主機存取,例如 hosts deny = 192.168.10.100
hosts allow設定允許哪臺主機存取,例如 hosts allow = 192.168.10.200
printable表示設定是否為印表機
#測試組態檔是否有語法錯誤,以及顯示最終生效的設定。使用 testparm 命令
[root@localhost ~]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Loaded services file OK.
Server role: ROLE_STANDALONE
......

二、搭建匿名使用者共用伺服器(Linux - Linux)

1. 環境準備

IP主機系統
192.168.10.20serverCentOS7
192.168.10.30clientCentOS7
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
yum -y install ntp && ntpdate ntp.aliyun.com

//server
hostnamectl set-hostname server
su
//client
hostnamectl set-hostname client
su

2. 伺服器端

yum -y install samba-* &> /dev/null
systemctl start smb && systemctl enable smb

#新增全域性設定
vim /etc/samba/smb.conf
......
[global]
        workgroup = SAMBA
        security = user
        map to guest = Bad User
......

#建立共用資料夾
mkdir -p /opt/yc
chmod 777 /opt/yc/
ll /opt/

#設定共用
cat >> /etc/samba/smb.conf << EOF
[yc]
comment = yc
path = /opt/yc
browseable = yes
guest ok = yes
writable = yes
public = yes
EOF

#測試組態檔是否有誤
testparm

#重新啟動服務
systemctl restart smb

3. 使用者端

yum -y install samba-* &> /dev/null
systemctl start smb && systemctl enable smb

#使用者端驗證
smbclient -L 192.168.10.20 -U 'Bad User'	#123456
mkdir -p /opt/smb
mount -t cifs //192.168.10.20/yc /opt/smb/ -o username='Bad User'
df -h

#在使用者端上建立共用目錄,檔案
cd /opt/smb/ && touch test && mkdir yanchuang
ls

4. 伺服器端上驗證

[root@server ~]#cd /opt/yc
[root@server /opt/yc]#ls
test  yanchuang

三、Windows 存取共用檔案

同網段 windows 虛擬機器器存取

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

不同網段 windows 虛擬機器器存取

  • 需要認證

在這裡插入圖片描述

相關推薦:《Linux視訊教學

以上就是linux的samba是什麼的詳細內容,更多請關注TW511.COM其它相關文章!