Samba server的基础及架设方法
1, Samba server的简介
 samba是一个工具套件,Unix上实现SMB(Server Message Block)协议,或者称之为NETBIOS/LanManager协议.SMB协议通常是被windows系列用来实现磁盘和打印机共享.需要注意的是,NetBIOS是基于以太网广播机制的,没有透明网桥是不能跨越网段的,也许用WINSLMHOSTS可以,但我没试过.我感觉samba是把SMB绑定到TCP/IP上实现的,samba只在IP子网内广播(很多时候我不得不指定IP地址:.所以在win95上与samba通讯既要装NetBEUI协议,也要装tcp/ip协议!
2Samba server的安装(RHEL5
默认情况下,在安装RHEL5好后,系统会把sambaclient端的软件包安装好。
首先查看一下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-139NetBIOS协议的默认会话端口,可以实现了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
3Samba server的测试
windows下,点击“开始/运行”键入\\192.16827.253 将会弹出来一个对话框,要求输入 用户名    密码,此时要注意的是这并不是系统的用户名和口令,而是由samba的一套用户名和密码的管理方案。
4Samba 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的下,连接测试一下。如果实现的话,那么可以对其相应的目录有完全的操作权限。对其他的目录就不一定,据设置而定。
 
5Samba 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架设者的重点必修课