Samba server 的基础及架设方法 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1, Samba server 的简介

  s amba 是一个工具套件 , Unix 上实现 SMB(Server Message Block) 协议 , 或者称之为 NETBIOS/LanManager 协议 .SMB 协议通常是被 windows 系列用来实现磁盘和打印机共享 . 需要注意的是 ,NetBIOS 是基于以太网广播机制的 , 没有透明网桥是不能跨越网段的 , 也许用 WINS LMHOSTS 可以 , 但我没试过 . 我感觉 samba 是把 SMB 绑定到 TCP/IP 上实现的 ,samba 只在 IP 子网内广播 ( 很多时候我不得不指定 IP 地址 :. 所以在 win95 上与 samba 通讯既要装 NetBEUI 协议 , 也要装 tcp/ip 协议 !

2 Samba server 的安装( RHEL5

默认情况下,在安装 RHEL5 好后,系统会把 samba client 端的软件包安装好。

首先查看一下 samba server 的安装情况:

[root@ localhost ~]# rpm  –qa|grep  samba

要安装 samba 服务端 RPM 包在 RHEL5 的第二张光盘找到 samba-3.0.2c-2.i386.rpm

 
接下来安装 samba server 软件包

[root@ localhost ~]# rpm  –ivh  samba-3.0.2c-2.i386.rpm

正常情况下安装顺利。

 
启动 samba

[root@ localhost ~]# /etc/rc.d/init.d/smb start

 
看看进程

[root@ localhost ~]# ps –eaf|grep smbd   #smbd 主要负责处理对文件和打印机的相关任务

[root@ localhost ~]# ps –eaf|grep nmbd   #nmbd 主要负责 NetBIOS 的网络名称服务和网络浏览

 
查看一下网络端口的监听情况:

[root@ localhost ~]# netstat  -anp|grep smbd   tcp-139  tcp-445

[root@ localhost ~]# netstat  -anp|grep nmbd   udp-137  -138

Tcp-139 NetBIOS 协议的默认会话端口,可以实现了 smb 协议,通过 TCP-445 端口直接在 TCP 上实现了 SMB 协议,数据包端口 UDP-138 ,名称服务由 UDP-137

如果有防火墙,还必须打开以上四个端口:

[root@ localhost ~]# iptables –I input –p udp –dport 137 –j accept

[root@ localhost ~]# iptables –I input –p udp –dport 138 –j accept

[root@ localhost ~]# iptables –I input –p tcp –dport 139 –j accept

[root@ localhost ~]# iptables –I input –p tcp –dport 445 –j accept

3 Samba server 的测试

windows 下,点击“开始 / 运行”键入 \\192.16827.253 将会弹出来一个对话框,要求输入 用户名     密码,此时要注意的是这并不是系统的用户名和口令,而是由 samba 的一套用户名和密码的管理方案。

4 Samba server 创建用户

那么接下来就开始创建账号

[root@ localhost ~]#useradd  -a sam-user1

[root@ localhost ~]# passwd sum-user1

在提示键入密码的地方降入两次相同的密码,方可

然后再 smbpasswd 命令创建一个 samba 用户,前提是要注意要要创建的 samba 用户名必须在系统用有这个名称。

[root@ localhost ~]#smbpasswd –a sam-user1

设置一个 samba 用户 sam-user1 的相对应的密码,可以任意设置。

 
其实也可以看看 /etc/samba/sambpasswd 文件:

[root@ localhost ~]# more /etc/samba/sambpasswd   # samba 的用户的文件目录,内容更详细。

 
返回到 windows 的下,连接测试一下。如果实现的话,那么可以对其相应的目录有完全的操作权限。对其他的目录就不一定,据设置而定。

 
5 Samba server 的主配置

主配置文件 /etc/samba/smb.conf

先可以看看文件 :

[root@ localhost ~]# vi /etc/samba/smb.conf

 
其下有很多的语句区段

global 区语句及含义      

# 全局参数,决定了 samba 的功能

workgroup   mygroup          # 组名

server string  mysamba         # 标识

security     user              # 要求有用户才能登陆

hosts allow   IP 地址           # 允许那些 IP 的主机可以登陆

load printers =yes              # 在启动 Smb 就启动打印服务

printcap name = /etc/printcap     # 设置打印目录

printlog  = cups               # 设置打印类型

quest account =pequest          # 快速账户 当没有时会回到系统查找

log file =/var/log/samba/*.log     # 日志文件目录

max log size= 50 (kB)            # 日志文件大小

password server= 名称或 IP 地址    # 指定认证的主机

password server=<NT-SERVER-NAME>   # 与控制器的 IP 或名字

realm= *                         # 指定 samba server 的所在的领域

passdb backed =                        # 后台数据库的类型

include= /user/local/samba/lib/smb.conf.%m  # 对于不同的客户不同的配置 , 实现个性化。

Interface= 192.168.27.252/24   # 设定可广播的有效端口

Local master =no             # 查看本地列表

os level =33                 # 操作权限

domain master =yes #         # 该域中的列表

prefezzed zeater =yes 

domain logons =yes          

login script =%m.bat          # 客户机的脚本启动

login script =%v.bat           # 不同用户的脚本启动

login path ]= \%l\prodiles\%v  

wins support =yes

wins server =a.b.c.d

wins proxy =yes

dns  proxy = no

 

 
homes 语句区

comment = home directories    # 主目录的

browreable= no              # 不可以浏览

path=/var/                  # 共享的目录

quest ok =   Yes            # 不需要密码可以享用资源

writable =no                # 没有写的权限

share modes=no             # 不能同时打开文件

write list = @ 用户组          # 允许此用户组有写的权限

valid user= 用户名           # 此用户有共享资源的权限

 

 
samba server 的配置相对来说,主文件的配置是每一个 samba 架设者的重点必修课