第四章 Samba
4.1 简 介
网络的宗旨是更容易地在计算机间共享信息, 在 Linux服务器和Windows 98的客户机之间实现打印共享和文件共享已经成为一个中小型企业必须解决的问题。
Samba 实际上是一组程序, 它们让你的Linux服务器机器懂得SMB (Server Messages Block)协议。SMB是一套通讯协议,让运行 OS/2,Windows NT,Windows 95,Windows for Workgroups的计算机实现文件共享和打印机共享服务。这套协议类似于NFS (网络文件系统)和lpd (Unix 标准打印服务器),及一套分布式授权认证系统(如 NIS 或 Kerberos)的组合。在运行 Samba 服务器程序的时候,你的 Linux 机器在"网络邻居"中看起来如同一台 Windows 机器。Windows 机器的用户可以"登录"到你的Linux服务器上, 当然这要求你给予适当的权限。
Samba 也能做一些一般来说需要 Windows NT 服务器去完成的工作,如作为一个 WINS服务器和处理来自Windows 95 机器的 "网络登录" 请求等等.
4.2 所需系统资源
4.2.1 配置文件:
文件 来源
/etc/smb.conf samba-2.0.6-9.i386.rpm ->
/usr/doc/samba-2.0.6/example/smb.conf.default
/etc/smbusers samba-2.0.6-9
/etc/smbpasswd 系统自带,使用smbpasswd更改
4.2.2 相关工具:
文件 来源
/etc/rc.d/init.d/smb samba-2.0.6-9.i386.rpm
/usr/bin/smbadduser samba-2.0.6-9.i386.rpm
/usr/smbpasswd samba-2.0.6-9.i386.rpm
4.3 配置方案
1./etc/smb.conf
作用:这是Samba的主配置文件,集中了所有的Samba配置选项。
实例:
[global]
netbios name = thj
#指定本机在网上邻居中的显示名
workgroup = basexf
#指定本机所属的工作组
server string = Tang Haijing's Linux Server
#指定本机的备注
; hosts allow = 192.168.1. 192.168.2. 127.
#允许访问本机共享
printcap name = /etc/printcap
load printers = yes
printing = bsd
guest account = nobody
log file = /var/log/samba/log.%m
max log size = 50
security = user
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
#指定定对用户口令校验的密码文件
#安全级别为用户级,这样定义是为了让每个98的客户端能自由使用它们在Linux服务器上的目录。
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
; interfaces = 192.168.12.2/24 192.168.13.2/24
dns proxy = no
[homes]
comment = THJ's Home Directories
browseable = no
writable = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = yes
writable = no
printable = yes
[public]
comment = Public Stuff
path = /home/Share
browseable = yes
guest ok = yes
public = yes
writable = yes
#定义了共享目录,所有的用户对这个目录都有读写权限
[ thj ]
comment = Fred's Printer
valid users = thj
path = /homes/thj
printer = thj_printer
public = no
writable = no
printable = yes
#以上是定义打印机
2.管理员执行smbadduser tanghj:smithj来创建一个smb用户,相应地更改了/etc/smbpasswd 和 /etc/smbusers
3. 管理员需要执行 chmod 0777 /home/Share,修改/home/Share访问权限。
4.4 测试及管理方法
1.管理员可以通过执行/etc/rc.d/init.d/smb restart使更改的配置文件生效。
2.testparm 命令,解析和描述你的 smb.conf 文件的内容,特别有用, 因为它提供了一个简易的方法发现配置上的错误。
4.5 本章小节
Linux是一个优秀的网络操作系统,它可与多种网络集成。Linux系统的稳定性、可靠性受到了广大用户的欢迎,在中小型网或者在公司、部门、单位等内部网(Intranet)上,常将Linux充当有效而强劲的文件和打印服务器,让windows客户机共享Linux系统中的文件。这种Linux与 windows网络集成是通过samba来实现。其实大家看了我关于Samba的介绍已经有了一个切身的感觉,就是Samba的配置选项太多了,但是要实现我们的目的只需要更改其中不多的部分就足以实现强大的文件、打印共享了。