1
Samba是一组软件包,使Linux支持SMB协议,是一套让Linux系统能够应用Microsoft
网络通讯协议的软件。它使执行Linux系统的机器能与执行Windows系统的计算机进行文
件与打印机共享.
2?? Samb a 的主要功能
(1)提供Windows操作系统风格的文件和打印机共享 Windows 98、Windows XP、Windows
2000等以据此共享Linux等其他操作系统的资源,外表看起来和共享Windows资源没有
区别,并支持Windows客户使用网上邻居浏览网络。
(2)Samba提供的一个类似FTP客户程序的客Samba客户程序smbclient命令,用以访
问Windows共享或Linux提供的Samba共享。其命令格式为:
smbclient //hostname/sharename -U username 一个samba服务器实际上包含了两个服
务器程序:smbd和nmbd。Smbd是samba的核心。它负责建立对话进程、验证用户身份、提供
对文件系统和打印机的访问机制。Nmbd实现了“Network Brower”(网络浏览服务器)
的功能。它的作用是对外发布samba服务器可以提供的服务。Samba还包含了一些实用工
具。Smbclient是一个SMB客户工具,有shell-based用户界面并同FTP有些类似。应用它
可以复制其它的SMB服务器资源.Testparm命令用来快速检查smb.conf文件的语法错误。
?
3 安装与配置 Samba 服务器
(1)如果在安装Linux时,已经安装的Samba,就不需要再安装了。但如果不确定是否已
经安装了Samba,即可使用下面的命令来确认:
# rpm ?qa | grep samba
(2)如果确认没有安装samba,可将Red Hat Linux 9的第一张安装光盘放入光盘驱动
器中,然后通过下面的命令进行挂装:
? # mount /mnt/cdrom
(3)将终端的当前工作目录切换到Red Hat Linux 9的安装光盘的Red Hat/RPMS目录,
使用如下命令:
# cd /mnt/cdrom/Red Hat/RPMS
(4)安装所需要RPM包。使用如下命令:
# rpm ?ivh samba-common-2.2.7a-7.9.0.i386.rpm
# rpm ?ivh samba -2.2.7a-7.9.0.i386.rpm
# rpm ?ivh samba-client-2.2.7a-7.9.0.i386.rpm
(5)安装samba的图形配置工具。使用如下命令:
????? # rpm ?ivh redhat-config-samba-1.0.4-1.noarch.rpm???? 注意!rpmdb
(6)弹出光盘。使用如下命令
????? # eject
4?启动或停止 Samb a 服务
安装并配置完Samba服务器后,下一步就是启动Samba服务。在通过 Samba 共享目录的
服务器上必须运行 smb 服务。
(1)使用以下命令来启动守护进程:
#service smb start
(2)使用以下命令来停止守护进程,即停止Samba服务:
#service smb stop
(3)要在引导时启动 smb 服务,使用以下命令:
#chkconfig - - level 345 smb on
这几条命令在终端上的使用及响应结果如图4-1所示。
4.5? smbcli ent 命令
smbclient //hostname/sharename -U username
在命令的实际使用过程中,把 hostname 替换为想连接的 Samba 服务器的主机名或 IP
地址,把 sharename 替换为想浏览的共享目录的名称,把 username 替换成系统的
Samba 用户名。输入正确的口令或按“Enter” 键(若该用户不要求输入口令)。 需要特
别说明的是,当访问Windows共享时,Username参数要使用Windows计算机中的用户账
号,验证口令是Windows计算机中的用户账号的密码;当访问Linux系统提供的Samba
共享时,Username参数要使用所访问Linux系统中的Samba服务器所提供的账号,口令
也是Samba用户的账号口令。
4.6 在字符模式下配置 smb 服务器
# Vi /etc/samba/smb.conf
?? workgroup = workgroup
?? service string = movie
?? interfaces = 192.168.0.0 /24
共享用户设置有效账号
???? [abc]
????? path = /home/abc
????? valid users = zhangsan lisi
????? comment = zhangli
????? write list = lisi (注意/home/abc lisi也应该有写权)
?
Useradd username
?
Smbpasswd ?a username
?为了安全最好用户账号影射
?修改/etc/samba/smbusers
?比如添加 zhangsan = zs
?修改配置文件启用 username map = /etc/samba/smbusers
? 或者用命令smbadduser linuxuser:mapuser