在Linux中配置SMB共享的完整指南
引言
SMB(Server Message Block)是一種網(wǎng)絡文件共享協(xié)議,廣泛用于 Windows、Linux 等系統(tǒng)間的文件共享。在滲透測試(pentest)場景中,配置 SMB 共享可以方便地在測試環(huán)境中傳輸工具、Payload 或測試數(shù)據(jù)。本文將詳細介紹如何在 Linux 系統(tǒng)中配置 SMB 共享。
一、環(huán)境準備
1. 操作系統(tǒng)要求
本文以 Ubuntu 22.04 LTS 為例,其他基于 Debian 的系統(tǒng)(如 Kali Linux)操作類似;RHEL/CentOS 系統(tǒng)步驟略有差異(包管理工具為 yum 或 dnf)。
2. 安裝 SMB 服務
Linux 中常用的 SMB 服務端是 samba,需先安裝相關包:
# Ubuntu/Debian/Kali 系統(tǒng) sudo apt update && sudo apt install samba samba-common-bin -y # RHEL/CentOS 系統(tǒng) sudo yum install samba samba-common -y
安裝完成后,啟動服務并設置開機自啟:
# 啟動服務 sudo systemctl start smbd nmbd # 設置開機自啟 sudo systemctl enable smbd nmbd # 檢查服務狀態(tài)(確保為 active (running)) sudo systemctl status smbd
二、配置 SMB 共享(核心步驟)
SMB 的核心配置文件為 /etc/samba/smb.conf,我們需要在該文件中添加共享目錄的配置。
1. 備份配置文件(重要)
修改配置前先備份默認配置,避免誤操作導致服務異常:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
2. 創(chuàng)建共享目錄
根據(jù)需求創(chuàng)建共享目錄并設置合適的權限(SMB 服務需要訪問權限):
注意:若目錄所有者為 root,需確保 samba 服務用戶(通常是 nobody)有訪問權限。
3. 編輯 SMB 配置文件
使用文本編輯器(如 nano 或 vim)打開配置文件,在文件末尾添加以下配置(對應需求:可瀏覽、可寫、允許匿名訪問):
[pentest]
comment = Pentest Tools Share # 共享描述(可選)
path = /root/pentest # 共享目錄路徑
browseable = yes # 允許瀏覽(在網(wǎng)絡鄰居中可見)
writable = yes # 允許寫入(修改/刪除文件)
guest ok = yes # 允許匿名訪問(無需密碼)
force user = root # 解決權限不足問題
# 禁止跟隨符號鏈接(安全加固,避免訪問共享外文件)
follow symlinks = no
wide links = no
配置說明:
[pentest]:共享名稱(客戶端訪問時顯示的名稱);guest ok = yes:允許匿名用戶訪問(無需登錄,適合測試環(huán)境,但生產(chǎn)環(huán)境不建議);writable = yes:允許寫入操作,需確保目錄權限足夠(如 777 或所有者為 samba 服務用戶);force user = root:所有訪問該共享的操作(包括匿名用戶)都將以 root 身份執(zhí)行,解決 /root 目錄的權限限制(可能有安全隱患)。
4. 驗證配置文件語法
修改后需驗證配置是否有誤,避免服務啟動失?。?/p>
testparm
若輸出類似 Loaded services file OK. 則表示配置有效。
5. 重啟 SMB 服務
使配置生效:
sudo systemctl restart smbd nmbd
三、防火墻配置(可選)
若系統(tǒng)啟用了防火墻(如 ufw 或 firewalld),需開放 SMB 服務的端口(默認端口:139、445)。
1. ufw 防火墻(Ubuntu/Debian 常用)
# 允許 SMB 端口 sudo ufw allow 139/tcp sudo ufw allow 445/tcp # 重啟防火墻 sudo ufw reload # 查看開放的端口 sudo ufw status
2. firewalld 防火墻(RHEL/CentOS 常用)
# 允許 SMB 服務 sudo firewall-cmd --add-service=samba --permanent sudo firewall-cmd --reload
四、客戶端訪問測試
配置完成后,可通過 Windows、Linux 或 macOS 客戶端訪問共享目錄。
1. Windows 客戶端訪問
- 打開資源管理器,在地址欄輸入
\\Linux服務器IP\pentest(例如\\192.168.1.100\pentest); - 由于配置了
guest ok = yes,無需輸入用戶名密碼,直接訪問即可; - 嘗試創(chuàng)建、復制或刪除文件,驗證讀寫權限是否生效。
2. Linux 客戶端訪問
需安裝 cifs-utils 工具:
# 安裝工具 sudo apt install cifs-utils -y # Ubuntu/Debian # 或 sudo yum install cifs-utils -y # RHEL/CentOS # 創(chuàng)建掛載點 mkdir -p ~/pentest_share # 掛載 SMB 共享(匿名訪問) sudo mount -t cifs //192.168.1.100/pentest ~/pentest_share -o guest # 訪問共享目錄 cd ~/pentest_share
3. macOS 客戶端訪問
- 打開「訪達」,按下
Cmd + K; - 輸入
smb://192.168.1.100/pentest,點擊「連接」; - 選擇「客人」身份,點擊「連接」即可訪問。
五、滲透測試場景注意事項
- 匿名訪問風險:
guest ok = yes允許任何人訪問,僅適合內網(wǎng)測試環(huán)境,禁止在公網(wǎng)暴露; - 權限控制:若需限制訪問,可關閉匿名訪問(
guest ok = no),并添加 samba 用戶:
# 創(chuàng)建 samba 用戶(需先存在系統(tǒng)用戶) sudo smbpasswd -a 用戶名 # 例如:sudo smbpasswd -a pentester(設置密碼后,客戶端需用該用戶登錄)
- 日志審計:SMB 日志默認位于
/var/log/samba/,可通過日志跟蹤訪問記錄; - 端口隱藏:若需隱藏共享(
browseable = no),客戶端需知道共享名稱才能訪問(適合敏感測試數(shù)據(jù))。
六、常見問題排查
訪問被拒絕:
- 檢查目錄權限(是否為 777 或 samba 用戶可訪問);
- 確認
writable = yes且read only = no; - 防火墻是否開放 139/445 端口。
服務啟動失敗:
- 用
testparm檢查配置文件語法錯誤; - 查看日志:
sudo tail -f /var/log/samba/log.smbd。
客戶端無法發(fā)現(xiàn)共享:
- 確保
browseable = yes; - 直接通過 IP+共享名訪問(而非依賴網(wǎng)絡鄰居自動發(fā)現(xiàn))。
通過以上步驟,即可在 Linux 系統(tǒng)中快速配置一個針對 /root/pentest 目錄的 SMB 共享,滿足滲透測試中文件傳輸?shù)男枨?。根?jù)實際場景,可進一步調整權限和訪問控制策略。
以上就是在Linux中配置SMB共享的完整指南的詳細內容,更多關于Linux配置SMB共享的資料請關注腳本之家其它相關文章!
相關文章
Linux下Squid代理服務器的架設與維護經(jīng)驗分享
現(xiàn)有Chinanet ip 126個,不可能分給所有的用戶使用。通過架設代理服務器來實現(xiàn)讓所有用戶使用網(wǎng)絡資源是最簡單并且相對安全和可靠的方法。2011-06-06
在Ubuntu20.04 LTS中配置Java開發(fā)環(huán)境
這篇文章主要介紹了在Ubuntu20.04 LTS中配置Java開發(fā)環(huán)境,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08
萬網(wǎng)獨享主機Apache為Ecshop商城添加404頁面的方法詳解
基本都是做看客的角色,自己基本都沒寫過文章,不過昨天的經(jīng)歷確實讓我有想法了,因為在網(wǎng)絡上面看了很多文章,每篇寫的都相對較片面,對于我這個Linux新手來說不免有點分不清東南西北,一不小心就浪費了半天時間。2011-03-03
Centos7.4服務器安裝apache及安裝過程出現(xiàn)的問題解決方法
這篇文章主要介紹了Centos7.4服務器安裝apache及安裝過程出現(xiàn)的問題解決方法,結合實例形式分析了Centos7.4服務器安裝apache相關命令、配置操作及端口占用等常見問題解決方法,需要的朋友可以參考下2019-03-03

