Samba服务
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.7.1Samba 服务
在网络中,架设Samba服务器,使用Samba服务就能实现Linux、Unix操作系统平台与微软的Windows 操作系统平台之间的互访,使用户能够方便地使用彼此提供的文件共享和打印设备的共享。
Samba能够使Windows用户通过“网上邻居”等方式直接访问Linux上的共享资源,也能使Linux用户利用SMB客户端程序访问Windows的共享资源。
(1)Samba概述
SMB(Server Message Black,服务信息块)可视为局域网上的共享文件夹/打印机的一种协议。
该协议可以用在TCP/IP之上。
Linux使用一个被称为Samba的程序集来实现SMB协议。
通过Samba,可以把Linux系统变成一台SMB 服务器,使Windows 95以上的Windows用户能够使用Linux的共享文件和打印机,同样的Linux用户也可以通过SMB服务器来使用Windows上的共享文件和打印机资源。
⏹SMB协议功能
●是通过SMB协议,客户端应用程序可以在各种网络环境下读、写服务器上的文件,以及对服
务器程序提出服务请求。
●通过SMB协议,应用程序还可以访问远程服务器端的文件和打印机等资源。
(2)Samba服务的安装
默认情况下很多Linux系统都已安装Samba服务,但Red Hat Enterprise Linux 5版本需要用户自己进行安装。
⏹首先,检查系统是否已经安装了Samba或查看已经安装了何种版本
可见,Red Hat Enterprise Linux 5版本没有安装Samba服务的软件包。
⏹安装Samba服务
如果系统还未安装Samba服务程序,可以进行安装。
安装步骤:
●加载光驱,获得安装samba服务的软件包
应将Red Hat Enterprise Linux 5 的那张DVD格式的光盘放入光驱。
运行命令加载光驱,所有的安装软件包都在光盘的Server目录下。
通过列表显示,可以知道samba服务的软件包是samba-3.0.33-3.7.el5.i386.rpm。
●安装Samba服务软件
安装软件包samba-3.0.33-3.7.el5.i386.rpm时,可以察觉到由于samba服务软件包安装的依赖关系,需要先安装软件包:perl-Convert-ASN1-0.20-1.1.noarch.rpm 。
(3)Samba服务的相关文件
⏹Samba服务的主配置文件
/etc/samba目录下的smb.conf文件是Samba的核心配置文件,大部分的功能配置都在这个文件中,它有许多不同的配置选项。
Samba服务的主配置文件由两部分构成:Global Settings 和Share Definitions。
●Global Settings
该设置都是与Samba服务整体运行环境有关的选项,它的设置项目是针对所有共享资源的。
●Share Definitions
该设置针对的是共享目录个别的设置,只对当前的共享资源起作用。
在这一配置文件中,以分号(;)和井号(#)作为注释符。
如果该行以这些符号开头,则该行的内容会被忽略而不会生效。
配置文件的格式是以“设置项目=设置值”的方式来表示的。
⏹Samba服务的密码文件
与Samba服务相关的密码文件有两个:/etc/samba/smbpasswd和/etc/samba/Smbusers
●/etc/samba/smbpasswd
Samba服务安装后该文件是不存在的,这时可使用smbpasswd命令来建立这个文件。
当用户第一次使用smbpasswd命令为Samba服务添加账号时,会自动建立smbpasswd文件。
使用Samba服务,必须是存在于安装Samba服务的Linux系统中的Linux系统用户,才能通过smbpasswd命令在Samba服务中添加账号。
smbpasswd命令的具体的命令格式:smbpasswd -a username
其中,username必须是该Linux系统已有的Linux系统用户的登录名。
[实例3.7.2] 为Linux系统中的“student”用户添加Samba服务账号的密码。
Samba服务与Linux操作系统使用不同的密码文件,因此无法使用Linux操作系统中的账号密码登录Samba服务器。
smbpasswd文件用于保存Samba服务的用户名及其所对应的密码,其中密码是经过加密的。
●/etc/samba/Smbusers
该文件是用于控制用户映射的。
⏹Samba服务的日志文件
Samba服务的日志默认存放在/var/log/samba中,Samba服务为所有连接到Samba服务器的计算机建立个别的日志文件,同时也将NMB服务和SMB服务的运行日志分别写入nmbd.log和smbd.log日志文件中。
管理员可以根据这些日志文件查看用户的访问情况和服务的运行状态。
(4)Samba服务的配置
Samba安装完成后,还无法使Linux服务器与Windows客户端正常互连互访,要使Samba正常、安全地提供服务,还需要进行设置。
同时,还要正确地设置防火墙,默认情况下Lintrx的防火墙是不允许Windows客户端访问Samba服务器的,因此要将相应服务开放,或关闭防火墙。
配置Samba前注意事项:必须查看/etc/services文件中以“netbios-”开头的记录是否都可用,如果被删除或记录前有“#”,也将使用户无法访问Linux服务器上的共享资源,正确记录文件的如下所示。
现在,以一个实际的应用实例,来说明Samba服务的配置和应用。
[实例3.7.3] 假定一个局域网中,存在Linux服务器和Windows XP系统的工作站。
Linux服务器的IP:192.168.1.254,主机名:,工作站Windows XP的IP地址:192.168.1.20;主机名:WinXP,工作组为:STUDENT。
该Linux系统有超级用户root、普通用户teacher和普通用户student。
要求配置samba文件服务器的功能如下:
●为了确保安全samba服务器中的共享目录仅允许192.168.1.0/24网段的用户使用。
●在工作站winxp操作系统中,root、teacher和student用户可以通过“网上邻居”访问自己的
个人主目录。
●在samba服务器中设置一个共享目录:/tmp/share,student和teacher用户都可进行读写操作。
●在samba服务器中设置一个共享目录:/tmp/teach目录,仅允许teach用户进行读和写,其他用
户如:student,仅能允许读操作。
为了实现实例3.7.3的要求,分以下步骤进行配置:
⏹共享应用前准备——共享目录的创建
root、teacher和student用户都必须是Samba服务器Linux系统中的用户,必定会存在自己的个人主目录,因此主目录就不必要创建。
而共享目录/tmp/share和/tmp/teach则必须事先创建,并且假定其访问属性都是开放的,应用的控制可以通过Samba服务配置时进行控制。
⏹Samba服务的全局参数配置
全局参数配置是通过配置/etc/samba/smb.conf文件实现的。
全局参数用于设置Samba服务的整体运行环境,它的设置参数很多,但通常在实际应用中并不需要全部进行设置。
主要的设置参数如下:
●设置Samba服务器所属的群组名称或Windows的域名
使用“workgroup=MYGROUP”项目进行设置。
可将此名称设置为与被提供服务的Windows操作系统中的名称:STUDENT 相同,以方便用户的访问。
依据实例要求,修改/etc/samba/smb.conf文件中相应语句为:workgroup = STUDENT
●设置Samba服务器的简要说明
可使用“server string=Samba Server”项目进行设置。
将它修改为有关服务器的简要说明,方便访问用户的识别。
为了实例中便于识别使用,修改/etc/samba/smb.conf文件中相应语句为:server string = Samba Server
●设置允许访问的网段
依据实例要求,配置samba服务器中的共享目录仅允许192.168.1.0/24网段的用户访问。
可使用“hosts allow = 192.168.1.”项目进行设置。
如果设置的允许的网段超过一个,就必须使用空格或逗号隔开。
⏹共享目录的设置
●设置用户个人的主目录
Samba服务为每一个Samba用户提供一个主目录,该共享目录通常只有用户本身可以使用。
个人的主目录默认存放在/home目录下,每个Linux用户有一个独立的子目录。
可以对共享目录进行说明,将“comment=目录说明文字”设置为简要的主目录说明文字,方便用户使用。
●设置是否允许用户浏览所有人的主目录
此功能可以利用设置项目“browseable=yes或no”来实现。
默认值是不允许用户浏览所有人的主目录。
因此,应该设置“browseable=no”。
可以允许写入个人主目录,使用“writable=yes或no”设置项目的“yes”设置值允许用户写入自己的主目录,“no”设置值则不允许用户写入主目录。
建议使用默认值,允许用户写入自己的主目录。
但必须注意,该设置的作用范围与全局参数类似,它是对所有的用户起作用,无法为个别用户单独设置。
●设置一个共享目录
除了用户的主目录外,通常还需要根据实际设置其他的共享目录,为用户提供服务。
依据实例的要求,/tmp/share,student和teacher用户都可进行读写操作,而/tmp/teach目录,仅允许teach 用户进行读和写,其他用户如:student,仅能允许读操作。
因此,在smb.conf文件末尾添加如下的配置项目。
(5)Samba服务的启动、停止和重新启动
⏹启动和停止Samba服务
配置了Samba服务后,需要启动Samba,才能服务生效。
●启动Samba服务
启动Samba服务的命令如下:
●停止Samba服务
停止Samba服务的命令如下:
●重新启动Samba服务
重新启动Samba服务的命令如下:
(6)Windows客户端的访问
在实例3.7.3中,已经依据要求配置了Samba服务,假定现已经启动了Samba服务,下面通过Windows XP系统的工作站分别使用root、teacher和student账号来测试和应用Samba服务,实现Windows网络操作系统与Linux操作系统之间的互连互访。
Windows的客户端不需要更改任何设置,只要在“网上邻居”中的STUDENT工作组中就可以查看到安装了Samba的Linux服务器,或在开始菜单中的“运行”中输入\\服务器名或\\服务器IP地址,单击“确定”后即可。
[实例3.7.4]通过应用实例3.7.3中配置的Samba服务,在Windows操作系统中,使用root账号登录Samba 服务器。
步骤1:在工作站WinXP客户端,打开网上邻居,在地址栏输入Linux服务器的名字“\\RHEL5”。
图3.7.2 通过Windows系统网上邻居登录Samba服务器
步骤2:在对话框中输入Linux的用户名和该用户名相应的Samba服务器的登录密码,如果该密码未设置,
必须在提供Samba服务的Linux系统中使用“smbpasswd -a username”命令先设置密码。
图3.7.3 使用root账号登录Samba服务器
在工作站登录了Samba服务器的Linux系统后,就如同使用一个本地系统目录一样进行使用,当然前题条件是要有相应的读写权限。
(7)smbclient
在拥有Linux和Windows操作系统的网络体系中,不仅可以通过在Linux主机上安装Samba服务,也可以利用smbclient程序,将Linux系统做为客户端,来连接Windows或Samba服务器上的共享资源,它是一个类似FTP客户端的软件,功能强大,使用也非常方便。
smbclient的使用方式和FTP客户端相似,可以使用get和put命令下载和上传文件,同时也可以使用help命令获得帮助。
默认情况下,Red Hat Enterprise Linux安装程序会将smbclient安装在系统上,可使用下面的命令检查
系统是否已经安装了smbclient或查看已经安装了何种版本。
⏹smbclient的访问命令格式
●列出目标主机共享资源列表
smbclient -L //主机名或IP地址 -U登录用户名
●使用共享资源
smbclient //主机名或IP地址/共享目录名 -U登录用户名
[实例3.7.5]在WinXP主机上开设一个共享目录C:\Enjoy,该共享目录是可读可写,允许网络用户修改的,
并且已知登录WinXP系统的用户名:tiger和登录密码。
如下图所示,Linux主机使用smbclient命令访
问这个共享目录,并上传一个文件。
图3.7.4 实例3.7.5中共享目录属性
步骤1:在Linux主机上先查看共享服务器上的目录名称,使用smbclient –L //IP地址 -U登录用户名的命令。
步骤2:知道共享服务器上的共享目录名称:Enjoy后,使用smbclient //IP地址/共享目录名 -U登录用户名命令,登录到共享服务器上。
以上的操作过程是登录成功后,先用ftp命令dir观察Enjoy目录的内容,可见是空的;再用!dir命令查询Linux本地目录的内容,可见有文件 install.log,用ftp命令put,将install.log上传到Enjoy 目录;最后再次使用dir观察Enjoy目录的内容进行验证,结束后键入exit退出共享服务器。
smbclient命令也同样可以用于一个Linux工作站访问连接另一台Linux系统提供的Samba服务。