萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Fedora 安裝配置 Samba 檔案共享服務完整步驟:RPM 安裝、smb.conf 設定、防火牆與 SELinux

Samba 實現 Linux/Windows 跨平台檔案共享。本文以 Fedora 9 (歷史版本,流程具參考性) 為例,示範從光碟 RPM 安裝、依賴解決、smb.conf 配置、使用者建立、服務啟動到防火牆/SELinux 設定的完整流程。

環境資訊

lsb_release -a
# Fedora release 9 (Sulphur)

1. 掛載安裝光碟並安裝 RPM 套件

mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom/Packages

# 查看 Samba 相關套件
ls | grep samba
# samba-3.2.0-1.pre3.9.fc9.i386.rpm
# samba-client-3.2.0-1.pre3.9.fc9.i386.rpm
# samba-common-3.2.0-1.pre3.9.fc9.i386.rpm
# samba-winbind-3.2.0-1.pre3.9.fc9.i386.rpm
# system-config-samba-1.2.63-1.fc9.noarch.rpm

# 依序安裝 (處理依賴)
rpm -ivh perl-Convert-ASN1-0.21-3.fc9.noarch.rpm  # 先裝依賴
rpm -ivh samba-*.rpm system-config-samba-*.rpm

2. 配置 /etc/samba/smb.conf

vim /etc/samba/smb.conf

[global] 區塊關鍵設定:


workgroup = WORKGROUP
server string = Fedora Samba Server
security = user
passdb backend = tdbsam
hosts allow = 192.168.1. 127.0.0.1

[Share Definitions] 新增共享:


[samba_server]
    comment = Fedora Shared Directory
    path = /mnt/nfs
    guest ok = yes
    writable = yes
    create mask = 0664
    directory mask = 0775

3. 建立 Samba 使用者

# 系統使用者
useradd smbuser
passwd smbuser

# Samba 密碼 (獨立於系統密碼)
smbpasswd -a smbuser
# 或完整路徑
/usr/bin/smbpasswd -a smbuser

4. 重啟服務與開機自啟

service network restart
service smb restart
service nmb restart

chkconfig smb on
chkconfig nmb on
# systemd 系統:
systemctl enable smb nmb
systemctl start smb nmb

5. 防火牆開放埠口


# iptables (Fedora 9)
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p tcp --dport 445 -j ACCEPT
iptables -A INPUT -p udp --dport 137 -j ACCEPT
iptables -A INPUT -p udp --dport 138 -j ACCEPT
service iptables save

# firewalld (現代 Fedora)
firewall-cmd --permanent --add-service=samba
firewall-cmd --permanent --add-service=samba-client
firewall-cmd --reload

6. SELinux 設定 (關鍵步驟)


# 允許 Samba 共享家目錄
setsebool -P samba_enable_home_dirs on

# 允許共享任意目錄 (需配合標籤)
semanage fcontext -a -t samba_share_t "/mnt/nfs(/.*)?"
restorecon -Rv /mnt/nfs
setsebool -P samba_export_all_rw on

7. Windows 客戶端存取驗證

  • 檔案總管輸入:\\192.168.1.106
  • 應看見 samba_server 共享資料夾
  • 對應網路磁碟機:右鍵「對應網路磁碟機」→ 指定磁碟機代號 → 完成

Samba 共享示意

現代 Fedora (38+) 部署差異

  • 安裝:dnf install samba samba-client
  • 配置檔結構相同,/etc/samba/smb.conf
  • 服務名:smb.service, nmb.service
  • 預設啟用 SMB2/3,server max protocol = SMB3
  • SELinux 政策更完善,semanage fcontext 仍為核心

Samba 核心配置邏輯跨版本一致:「定義共享 → 設定權限 → 建立使用者 → 開放防火牆 → SELinux 標籤」,掌握此流程可快速部署任何 Linux 發行版的檔案共享服務。

copyright © 萬盛學電腦網 all rights reserved