我正在尝试在 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
在它之前。