个人工具

Quick HOWTO : Ch12 : Samba Security and Troubleshooting/zh

来自Ubuntu中文

跳转至: 导航, 搜索

介绍

为你的办公室或家里配置Samba 协议会带来很多的好处.通过鼓励用户把文件存储在一个文件服务器上,在某些情况下会 使你的数据备份,软件安装和维护工作变得轻松起来.

令人遗憾的是,Samba的初始配置有些棘手.要按照正确的顺序执行许多短小的操作,如果有一个地方出了错,都会带来严重的错误.本章讲的是帮助你从那些你不能避免的错误中恢复.


测试 smb.conf文件

Samba 有一个叫testparm的测试工具,它会对smb.conf文件中的错误进行警告.如果你用SWAT去编辑这个文件,通常你会成功通过测试,

如下所示:

[root@bigboy tmp]# testparm -s
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Loaded services file OK.
...
...
[root@bigboy tmp]#

测试成功只是意味着Samba会加载这个配置文件.Samba还有可能在别的地方出问题.

注意: 你也可以用testparm命令来测试别的文件(默认是default /etc/samba/smb.conf).只要简单的把文件名作为第一个参数,格式如下:

[root@bigboy tmp]# testparm -s filename

Samba 和防火墙软件

你的安了Windows系统的个人电脑和Samba 服务器上的防火墙软件都会是Samba失效.以下为这两种比较流行的防火墙数据包iptables 和ZoneAlarm提供解决这个问题的方案.

Linux iptables(ip表)

Fedora在安装过程中默认配置了ip表防火墙数据包.你有两个选择.你要在保证网络安全的前提下选择它被禁用,或者,你作如下配置:允许微软的NetBIOS协议(UDP 端口137 和138 TCP端口 139)还有不使用NetBIOS协议时通过TCP 445端口实现SMB文件共享.以下是一段脚本的摘要:

#!/bin/bash
 
SAMBA_SERVER="192.168.1.100 "
NETWORK="192.168.1.0/24"    # Local area network
BROADCAST="192.168.255.255" # Local area network Broadcast Address
 
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -p udp -s $NETWORK -d $SAMBA_SERVER \
    -m multiport --dports 137,138 -j ACCEPT
iptables -A INPUT -p tcp -s $NETWORK -d $SAMBA_SERVER -m multiport \
    --dports 139,445 -j ACCEPT
iptables -A INPUT -p udp -s $NETWORK -d $BROADCAST --dport 137 \
    -j ACCEPT
iptables -A INPUT -p udp -d $SAMBA_SERVER -m multiport \
    --dports 137,138 -j DROP
iptables -A INPUT -p tcp -d $SAMBA_SERVER -m multiport \
    --dports 139,445 -j DROP
iptables -A OUTPUT -s $SAMBA_SERVER -d $NETWORK -m state --state \
    ESTABLISHED,RELATED -j ACCEPT

要了解更多的信息,请参考14章,"使用iptable的防火墙"

基于Windows 的ZoneAlarm
默认安装情况下时ZoneAlarm假定你的电脑直接连接到互联网.这意味着这个软件会将所以尝试连接你的PC的内网连接拒绝.而Samba使用的通讯线路正是NetBIOS所使用的,因此会有冲突.

最简单的解决方法是把ZoneAlarm配置一下,让它认为你的内网是也一个可靠的网络.要在防火墙中对你的内网的设置作些改动;通常可以这样修改IP192.168.x.x/255.255.255.0 .将这个网络设置为可信网络,而不是一个外网,这样ZoneAlarm就不会干扰Samba的工作了.

Windows XP 自带的防火墙
你需要将一些防火墙的功能禁用.按照以下的步骤:

1.打开控制面板.

2.双击网络连接.

3.右键点击你的LAN连接(局域网)图表,然后选择属性.

4.点击高级标签然后点击Windows防火墙设置按钮.

5.点击checkbox 关闭互联网连接防火墙.你也许还开着防火墙,但是允许windows文件共享.这个功能可以通过点击windows防火墙的其他标签,然后选择共享打印机和文件选项.

当你把Samba配置好后,你也许想要同时打开防火墙来优化你的安全,时刻记得怎样合理的将它配置好,让Samba服务器能够正常的工作.