经过长时间学习Samba,于是和大家分享一下,你可能会遇到Fedora
Samba问题,看完本文你肯定有不少收获,这里将介绍Fedora Samba问题的解决方法,希望本文能教会你更多东西。在我们使用 Windows
作为客户机的时候,通常有文件、打印共享的需求。
作为Windows 网络功能之一,通常可以在 Windows 客户机之间通过 Windows Network
固有的功能实现这些要求。然而,通过 Fedora Samba 我们也可以让一台 Fedora 主机来兼容 Windows
网络,实现同样的功能,进而充分发挥 Fedora 主机的可用性。
本文主要介绍怎样通过 Fedora Samba 服务器的构建实现 Windows
网络中的文件共享。SMB协议是建立在NetBIOS协议之上的应用协议,是基于TCP138、139两个端口的服务,NetBIOS出现之
后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统。这个系统基于NetBIOS设定了一套文件共享协议,Microsoft
称之为SMB(Server Message Block) 协议,这个协议被用于Lan
Manager和Windows服务器系统中,实现不同计算机之间共享打印机和文件等。
因此,为了让Windows和Unix/Linux计算机相集成,最好的办法就是在
Unix/Linux计算机中安装支持SMB协议的软件。这样使用Windows的客户端不需要更改设置, 就能像使用Windows
NT或Windows 2000服务器一样,使用Unix/Linux计算机上的共享资源了。 Fedora
Samba使SMB协议运行在NetBIOS协议上,并且使用Windows的NetBEUI协议让Unix/Linux服务器可以在Windows的网
络邻居上被访问到。
安装 Fedora Samba
使用rpm –qa|gerp samba来检查是否安装
了samba 软件包,如果没有安装的话请自行安装以下的软件包
# rpm –ivh
samba-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh
samba-winbind-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh
samba-common-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh
samba-client-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh
system-config-samba-1.2.63-1.fc9.noarch.rpm
或者你用yum install samba* -y就可
以一次搞定了。
配置 Fedora Samba
然后,通过编辑 /etc/Samba/smb.conf ,根据需求配置 Fedora
Samba。在这里,本文的原则是只将文件共享应用于内网,并让将要被共享的目录拥有充分的读写权限属性。
[root@sample ~]# vi /etc/Samba/smb.conf ← 编辑 Fedora Samba 的配置文件 workgroup
= WORKGROUP //设置工作组 server string = %U's Samba %v //描述信息%U代表当前登陆用户 netbios
name = fedora //netbios名字,fedora9 默认没有启用 log file =
/var/log/Samba/log.%m //日志文件保存路径%m你的windows主机名 max log size = 50
//日志最大容量 security = user //安全级别,user需要用户名和密码,share级别则不要 [Fedora
Samba] //建立一个共享名为Fedora Samba的共享 comment = Samba//描述信息 path =
/home/suyang/Fedora Samba//共享路径 public = no //是否允许guest用户访问(相当于guest
ok = yes/no) writable = yes //是否可写 write list = suyang
//可以写入的用户列表(@代表用户组)
接下来,创建将要通过 Fedora Samba 共享给 Windows 网络的专用目录。
[root@sample ~]# mkdir /home/suyang/Samba ← 建立共享文件专用目录 [root@sample
~]# chown -R nobody. /home/suyang/Samba ← 设置专用目录归属为 nobody [root@sample
~]# chmod 777 /home/suyang/Samba ← 将专用目录属性设置为 777
在进行到服务端的连接之前,需要预先对用于登录 Fedora Samba 的用户进行设置。这里我们以 Fedora 中 Fedora
Samba 标准的 Fedora Samba 用户数据库管理工具“smbpasswd”为例,创建用于登录 Fedora Samba
的用户数据。这里需要注意的一点:用 smbpasswd 创建用户的前提是,系统用户中存在该用户 -- 在基于系统用户之上,才可以创建该用户在
Fedora Samba 用户数据库中的信息。
[root@sample ~]# smbpasswd -a suyang ← 将系统用户 suyang(例)加入到 Fedora
Samba 用户数据库 New SMB password: ← 输入该用户用于登录 Fedora Samba 的密码 Retype
new SMB password: ← 再次确认输入该密码
启动 Fedora Samba 服务
在启动 Fedora Samba 服务之前,首先将防火墙设置中 Fedora Samba
所用到的端口进行开放。 [root@sample ~]# vi
/etc/sysconfig/iptables ← 编辑 iptables 配置文件 -A RH-Firewall-1-INPUT -m
state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT ← 找到此行,在下面添加如下行: -A
RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j
ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp
--dport 445 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport
137 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 138 -j
ACCEPT [root@sample ~]# /etc/rc.d/init.d/iptables restart ← 重新启动
iptables ,使新的规则生效 Flushing firewall rules: [ OK ] Setting chains
to policy ACCEPT: filter [ OK ] Unloading iptables modules: [ OK ] Applying
iptables firewall rules: [ OK ]
最后,启动 Fedora Samba 服务(含两个守护进程:smb,nmb)。
[root@sample ~]# chkconfig smb on ← 设置 Fedora Samba 自启动 [root@sample
~]# chkconfig --list smb ← 确认 Fedora Samba 启动标签,确认 2-5 为 on 的状态
smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@sample ~]#
chkconfig nmb on ← 设置 nmb 自启动 [root@sample ~]# chkconfig --list nmb
← 确认 nmb 启动标签,确认 2-5 为 on 的状态 nmb 0:off 1:off 2:on 3:on 4:on 5:on
6:off [root@sample ~]# /etc/rc.d/init.d/smb start ← 启动 Fedora Samba
服务 Starting SMB services: [ OK ] [root@sample ~]#
/etc/rc.d/init.d/nmb start ← 启动 nmb 服务 Starting NMB services: [ OK ]
|