我该如何在 CentOS 上修复这个 Samba 设置?

我该如何在 CentOS 上修复这个 Samba 设置?

我正在尝试在 CentOS 上的 /home/share 中设置 Samba 共享。我对设置此类服务没有太多经验。我一直在遵循指南和建议,但仍然缺少一些东西。以下是完整的问题描述。

机器设置:我在 VMware Player(希望很快推出 ESX)中运行使用“最小”ISO 映像安装的 CentOS 6.3 服务器。桥接网络。

我正在尝试做的事情:设置一个 Samba 共享文件夹供网络上的某些用户访问(Windows 用户)。

症状:我无法连接到共享,也无法获取共享列表。我尝试过从我的 Mint 14 笔记本电脑和 Win7 电脑上进行操作。我可以 ping 虚拟机,但无法让它连接到共享目录。我尝试了所有能想到的方法。我经常在 Windows 和 Linux 上安装远程目录。我很确定我的配置中缺少某些东西。

我目前所做的:

  • 按照提示接入固定网络这里(“对于 DHCP”部分)。在执行此操作之前,我无法 ping 任何内容。现在我可以 ping 本地网络上的其他计算机以及 Internet 上的热门域。
  • 安装了 MySQL ODBC 连接器 (yum)、Mono (已编译) 和 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 配置文件:
[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 文件中列出他们(上面的用户 1)并运行,授予他对共享的访问权限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

答案1

使用 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

在它之前。

相关内容