Centos

如何在 CentOS 上修復這個 Samba 設置?

  • January 17, 2013

我正在嘗試在 CentOS 上的 /home/share 中設置 Samba 共享。我沒有建立這種服務的豐富經驗。我一直在這里和那裡遵循指南和建議,但仍然缺少一些東西。這是完整的問題描述。

**機器設置:**我在 VMware 播放器(希望很快是 ESX)中執行使用“最小”ISO 映像安裝的 CentOS 6.3 伺服器。橋接網路。

**我正在嘗試做的事情:**為網路上的某些使用者(Windows 使用者)設置一個 Samba 共享文件夾。

**症狀:**我無法連接到共享,也根本無法獲取共享列表。我從我的 Mint 14 筆記型電腦和 Win7 電腦上嘗試過。我可以 ping 虛擬機,但無法連接到共享目錄。我嘗試了所有我能想到的方法。我經常在 Windows 和 Linux 上掛載遠端目錄。我很確定我的配置中缺少某些東西。

到目前為止我做了什麼:

  • 按照此處的指示(“對於 DHCP”部分)固定網路訪問。在執行此操作之前,我無法 ping 任何東西。現在我可以 ping 本地網路上的其他電腦,以及 Internet 上的流行域。
  • 安裝了 MySQL ODBC 連接器 (yum)、Mono (compiled) 和 Samba (yum)。我需要前兩個來做別的事情。只是為了完整起見。
  • 根據此頁面為 samba 添加了防火牆規則。我驗證了語法(testparm),它也載入沒有任何錯誤。iptables:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

-A INPUT -s 192.168.100.0/24 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -m udp -p udp --dport 445 -j ACCEPT

-A INPUT -s 192.168.100.0/24 -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT

COMMIT
  • 我投入setsebool -P samba_enable_home_dirs on並嘗試了,semanage fcontext -a -t samba_share_t '/home/share(/.*)?'但看起來 semanage 沒有安裝。無論如何,就像他們說的那樣,我會有一個空的份額。現在我根本沒有任何份額。
  • 到目前為止,這是我的 Samba conf 文件:
[global]
  workgroup = WORKGROUP
  server string = Samba Server
  log file = /var/log/samba/log.%m
  max log size = 50
  security = user
  passdb backend = tdbsam
  load printers = yes
  cups options = raw

[files]
  comment = File directory
  path = /home/share
  valid users = user1
  public = no
  writable = yes
  printable = no
  create mask = 0765
  • 除此之外,我在 CentOS 上創建了一個使用者,並通過在 samba conf 文件(上面的 user1)中列出它們並執行smbpasswd -a user1.
  • 我認為問題可能是 /home/share 權限,所以我將 user1 設置為 /home/share 的所有者。
  • 我手動確保 smbd(和 nmbd)服務正在執行。

這一定是我自作業系統安裝以來所做的一切(不包括 Mono 建構細節)。

我完全被困住了。我正在閱讀其他指南並在這里和那裡嘗試隨機配置,但我一無所知。任何幫助都感激不盡。

編輯: 作為記錄,缺少什麼(權限):

yum install policycoreutils-python
semanage fcontext -a -t samba_share_t '/home/share(/.*)?'
restorecon -R /home/share

使用 iptables,規則按照它們編寫的順序應用。之後的規則

-A INPUT -j REJECT --reject-with icmp-host-prohibited

永遠不會被處理,因為它是一攬子拒絕。把這些

-A INPUT -s 192.168.100.0/24 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -m udp -p udp --dport 445 -j ACCEPT  
-A INPUT -s 192.168.100.0/24 -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT

在它之前。

引用自:https://serverfault.com/questions/470148