SAMBA在SOLARIS8上的安装与配置(上)
引言:
一、前置知识
二、SAMBA在SOLARIS8上的安装与配置
三、启动SOLARIS 8系统的SAMBA 服务
四、SAMBA服务系统的管理和配置工具
五、WEB页面管理配置工具SWAT
六.从WINDOWS端访问SAMBA服务器
七.前景展望:
附:SAMBA参数参考目录
引言:
如今的操作系统市场,几乎是Unix与 Windows割据天下。一个侵占了绝对的服务器市场,而另一个却几乎吞噬了整个桌面市场。经常有人抱怨如今的文件系统,网络的异构,使不同的系统之间的访问变得困难,需要引入一门通用的“语言”来解释异构系统之间的通讯。本文主要介绍了Samba for Solaris的使用,实现了UNIX与windows的文件共享和打印共享,你可以在本地的windows系统上的网络邻居来访问Solaris上的文件,打印共享,您甚至还可以影射网络驱动器,这就如同使用本地磁盘一样方便。而且利用Unix的强大的访问控制,你可以对不同的共享目录权限设置,不用担心有人会删除你的文档,而您自己却可以自由操作。
【关键字】 Samba服务器 共享 SMB SWAT 服务进程 异构网络互联
一、前置知识
首先,我们先来介绍下什么是Samba,我们看看Samba组织的目标——Opening Windows To A Wider World。熟悉Linux的用户可能常常在Linux上安装Samba服务来实现与Windows系统的文件共享和打印机共享。他们之间的数据传输使用SMB(Service Message Block)协议.这是一个在传输层之上的协议,所以他可以支持很多不同异构系统的网络互联(比如,Linux,Solaris,Windows等),Samba之所以能够工作,因为SMB协议模仿了Windows内核的文件和打印共享协议。微软已经将SMB改名为公共因特网文件系统(CIFS,Common Internet File System ),并打算把它设计为Internet的标准协议。这在一定程度上是由于它想与最初的基于NetBIOS的SMB保持一定的距离。NetBIOS是Windows 网络的一个伟大的工具,Microsoft使用NetBIOS实现了一个网络文件/打印服务系统,但是为LAN设计的它却注定了不能路由。
Samba执行了SMB/CIFS的一个版本,这个版本在很大程度上与大多数的Windows版本兼容。但是,无论是从Windows连接到Linux还是从Linux连接到Windows机器,Samba系统对于实现文件和打印服务来说总是很稳定的。我们可以通过Windows的网络邻居来轻松访问安装了Samba的UNIX/LINUX服务器。(更多的文档见www.samba.org )
二、Samba在solaris8上的安装与配置
1.系统先要打上较新的EIS,然后到www.sunfreeware.com下载需要的软件包,如下:
libiconv-1.8-sol8-sparc-local.gz
ncurses-5.4-sol8-sparc-local.gz
libgcc-3.3-sol8-sparc-local.gz
readline-5.0-sol8-sparc-local.gz
popt-1.7-sol8-sparc-local.gz
samba-3.0.10-sol8-sparc-local.gz
前面5个软件包在安装samba之前要装上,用以下命令解压并安装samba软件包;
#gunzip samba-3.0.10-sol8-sparc-local.gz
#pkgadd –d samba-3.0.10-sol8-sparc-local
安装完毕后,我们到/usr/local下可以看到安装的软件包samba目录。
2.配置相关文件
samba的配置文件是/usr/local/samba/lib/smb.conf文件,这个文件需要自己创建,安装后是不存在。可以根据您的需要通过配置它相关的参数来实现复杂或简单的访问控制。smb.conf的格式是有多个段,每段由段名开始,一直到下个段名,每个段名放在方括号中间,下面给出个smb.conf文件例子。
#more /usr/local/samba/lib/smb.conf
[global]
workgroup = UEC
netbios name = UEC-server
server string = Samba Server
log file = /usr/local/samba/var/log.%m
security = user
guest account = guest
[gcp docs]
comment = this is shared gcp docs
path = /gcp
guest ok = yes
read only = no
browseable = yes
[john docs]
comment = this is shared john docs
path = /john
guest ok = yes
read only = no
[global]段是全局变量,它设置了工作组,NetBIOS名,安全参数security等参数,除了[global]段外,所有的段都可以看作是一个共享资源,段名是该共享资源的名字,而段里的参数就是共享资源的属性。[gcp docs] 和[john docs]就是共享的目录,它的参数可以设置共享目录路径和访问控制权限等。(详细参数见附录)
三、启动Solaris 8系统的Samba 服务
在安装完软件包后,我们把/usr/local/samba/sbin 下面的3个应用程序,nmbd,smbd,winbindd复制到/usr/local/samba/bin下面去。
samba server服务是 由3个守护进程组成,
nmbd—Netbios名称服务器,该进程使用UDP协议提供Netbios名称服务和浏览支持,处理命名注册和决策请求。该进程应当是被首先启动。
smbd —SMB服务器,使用TCP协议给SMB客户提供文件和打印服务;应当在nmbd进程后立即启动。
Winbindd—当Samba服务器是windows NT 或 ADS域中的成员时,此时当启动该守护进程。
通常在修改了配置文件smb.conf后,我们需要从新启动这3个进程,以便参数的设置起效.
下面配置下到自动启动脚本,我们可以自己写个启动的脚本,加入这3个进程(注意启动的先后顺序),其实samba安装完有个example的启动的脚本,我们只要做些修改就可以了。
#cp /usr/local/samba/doc/samba/examples/svr4-startup/samba.server /etc/init.d/samba.server
#Vi /etc/init.d/samba.server
把默认的两行/opt/samba/bin/smbd -D -s/opt/samba/smb.conf
/opt/samba/bin/nmbd -D -l/opt/samba/log -s/opt/samba/smb.conf
改为三行
/usr/local/samba/sbin/smbd -D -s/usr/local/samba/lib/smb.conf
/usr/local/samba/sbin/nmbd –D -l/var/adm/samba.log -s/usr/local/samba/lib/smb.conf
/usr/local/samba/sbin/winbindd
#cd /etc/rc2.d
# ln -s /etc/init.d/samba.server S99samba.server(把它Link到启动目录里面)
这样Samba服务进程就会随着系统的启动而自动启动了。
四、samba服务系统的管理和配置工具
除此之外,Samba还提供了几个实用的组件(位于/usr/local/samba/bin目录下面):
smbclient, SMB客户程序,用来存取SMB服务器上的共享资源;
testprns 测试服务器上打印机访问的程序;
testparms 测试Samba配置文件的正确性的工具;
smbstatus 这个工具可以列出当前Samba服务器上的连接;
smbtree 这个工具来显示共享目录树形结构。
smbpasswd 这个工具用来设定用户密码;
swat samba的Web管理工具;
这些工具其实都是非常有用的,通过他们我们可以更好的管理配置samba服务器。
下面通过例子做介绍
#cd /usr/local/samba/bin
#testparms
测试参数的设置格式,属性是否正确。
#smbstatus
Samba version 3.0.10
PID Username Group Machine
-------------------------------------------------------------------
2502 root UEC uec-gcp (192.168.1.2)
Service pid machine Connected at
-------------------------------------------------------
IPC$ 2502 uec-gcp Mon Sep 12 13:11:31 2005
John docs 2502 uec-gcp Mon Sep 12 12:59:01 2005
gcp docs 2502 uec-gcp Mon Sep 12 12:58:54 2005
No locked files
#smbpasswd –a username
添加访问的共享资源的用户,一般用户也可以访问SWAT,但只有查看状态的权限。
# smbtree
Password:
WORKGROUP
//SUN440EN Samba 3.0.10
//SUN440EN/ADMIN$ IPC Service (Samba 3.0.10)
//SUN440EN/IPC$ IPC Service (Samba 3.0.10)
//SUN440EN/john docs
//SUN440EN/gcp docs
#smbclient -L yourhostname.
显示了samba server 上的共享资源。
Samba服务器是如何利用SMB/CIFS协议模仿Windows的NetBIOS协议的呢?
表4—1,描述了具体的服务和端口使用。
端口 服务描述与使用的进程
137 Used for NetBIOS network browsing (nmbd)
138 Used for NetBIOS name service(nmbd )
139 Used for file and printer sharing and other operations(smbd)
445 Used by Windows 2000/XP when NetBIOS over TCP/IP is disabled
901 Used by SWAT (SWAT管理工具)
表4-1 服务端口描述
五、web页面管理配置工具swat
把swat单独提出来说明,是因为它是GUI的WEB页面管理方式,而且提供了几乎所有的参数配置,状态查看等功能。默认的SWAT进程是没有启动的,我们把它加入inet.d守护进程.
#Vi /etc/services
加一句 swat 901/tcp
#vi /etc/inetd.conf
加一句 swat stream tcp nowait.400 root /usr/local/samba/bin/swat swat
这样后重新启动/usr/sbin/inetd 守护进程,这里的Swat使用了TCP901端口监听,在浏览输入:http://x.x.x.x:901 进入web管理页面。当然我们要在获得权限后才能进去设置。如图5-1:
图5-1 swat管理页面
这个页面管理工具可以配置几乎所有的Samba参数,提高了Samba的使用便捷性和易用性。在首页它还提供了命令和参数的帮助文档手册。