第8章Samba服务器配置与安全管理_第1页
第8章Samba服务器配置与安全管理_第2页
第8章Samba服务器配置与安全管理_第3页
第8章Samba服务器配置与安全管理_第4页
第8章Samba服务器配置与安全管理_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章Samba服务器配置与安全管理8.1Samba服务概述 1.Samba简介Samba(SMB是其缩写)Samba是一套让UNIX系统能够应用Microsoft网络通讯协议的软件。如图8-1所示,Samba既可以用于Windows和Linux之间的资源共享,也一样可用于Linux/Unix网络内部的资源共享。图8-1Samba实现跨平台的共享Samba提供了以下四大功能:

提供Windows风格的文件和打印机共享:这是Samba的主要功能。

身份验证和授权:支持多种身份验证和权限设置模式,通过加密方式保护共享资源。通过用户登录Samba主机时做身份验证,来提供不同身份者的个别数据。

支持NetBIOS名字解析及浏览:通过nmbd服务可以搭建NBNS(NetBIOSNameService)服务器,将计算机的NetBIOS名解析为IP地址。

为客户提供网上邻居浏览服务:Samba服务器可以成为局域网中的主浏览服务器(LMB),保存可用资源列表,为客户端提供浏览列表的服务。8.1Samba服务概述 2.Samba的工作原理

(1)Samba工作流程

步骤1:协议协商

步骤2:建立连接

步骤3:访问共享资源

步骤4:断开连接

(2)Samba相关进程 Samba服务是由两个进程组成,分别是nmbd和smbd。8.1Samba服务概述8.2案例导学——实现默认的文件和打印共享 8.2.1安装 1.准备工作在RHEL5中提供的与Samba服务相关的软件包有以下几个: samba-common:包含通用工具和库文件。服务器和客户端都需要安装该软件包。 samba:Samba服务的主程序包。Samba服务器端必须安装该软件包。 samba-client:连接服务器和连接网上邻居的客户端工具,并包含其测试工具。Samba客户端必须安装该软件包。 samba-swat:Samba的Web配置工具。支持通过浏览器对Samba服务器进行图形化管理。8.2案例导学——实现默认的文件和打印共享 2.安装

(1)安装Samba主程序包

(2)安装Samba客户端工具

(3)安装Samba通用工具和库文件

(4)安装Samba图形化管理工具8.2案例导学——实现默认的文件和打印共享 3.了解软件包安装的文件用命令“rpm-qlsamba”可以查询到samba软件包所生成的文件。主要有: /etc/pam.d/samba:samba用户的pam认证文件 /etc/rc.d/init.d/smb:samba服务的启动脚本 /etc/samba/smbusers:虚拟用户与samba用户的映射文件 /usr/bin/mksmbpasswd.sh:将系统帐号转换为samba帐号的脚本文件 /usr/bin/smbstatus:显示samba服务器的连接状态8.2案例导学——实现默认的文件和打印共享用命令“rpm-qlsamba-client”可以查询到samba-client软件包所生成的工具。主要有: /sbin/mount.cifs:挂载samba文件系统 /sbin/umount.cifs:卸载samba文件系统 /usr/bin/nmblookup:NetBIOS名字查询工具,类似nslookup /usr/bin/smbclient:提供访问Samba服务器的命令行实用程序。可以用于运行SMB协议的计算机之间复制文件以及从SMB服务器上备份文件 /sbin/mount.cifs:将远程共享文件和目录挂载到本地,用mount命令也可以实现 /usr/bin/smbtree:显示局域网中的共享主机和目录列表8.2案例导学——实现默认的文件和打印共享用命令“rpm-qlsamba-common”可查询到samba-common软件包生成的工具。主要有: /etc/samba:Samba服务器上用来存放配置文件的位置 /etc/samba/lmhosts:用于本地解析NetBIOS名字与对应的IP地址 /etc/samba/smb.conf:Samba服务器的主配置文件 /usr/bin/smbpasswd:管理samba用户帐户和密码 /usr/bin/testparm:检查配置文件smb.conf语法的正确性 /var/log/samba:Samba服务器上用来存放Samba的日志文件的位置 Samba服务器的主配置文件“/etc/samba/smb.conf”是安装软件包时自动产生的,可以在启动Samba服务器后直接使用。8.2案例导学——实现默认的文件和打印共享 8.2.2使用默认配置的Samba服务器 1.Samba主配置文件主配置文件文件“smb.conf”在服务器和客户机上都是需要的。按结构分为两部分:一是以“GlobalSettings”为标识的全局设置区域,针对整个Samba服务器有效。二是以“ShareDefinitions”为标识的共享定义区域,只对特定的共享有效。

(1)全局设置区域的配置语句

(2)共享定义区域的配置语句共享定义区域的设置对象为每个共享目录和打印机,在方括号中设置其共享名。如果我们想发布共享资源,需要对该区域进行配置。这里可能用到的字段非常丰富,设置灵活。主配置文件:/etc/sabma/smb.conf详解语法workgtoup=<工作组群>;

预设workgroup=MYGROUP

说明设定SambaServer的工作组

例workgroup=workgroup和WIN2000S设为一个组,可在网上邻居可中看到共享语法serverstring=<说明>;

预设sarverstring=SambaServer

说明设定SambaServer的注释

其他支持变量t%-访问时间I%-客户端IPm%-客户端主机名M%-客户端域名S%-客户端用户名

例serverstring=thisisaSambaServer设定出现在Windows网上邻居的SambaServer注释为thisisaSambaServer语法hostsaoolw=<IP地址>;...

预设;hostallow=192.168.1.192.168.2.127.

说明限制允许连接到SambaServer的机器,多个参数以空格隔开。表示方法可以为

完整的IP地址,如192.168.0.1

网段,如192.168.0.

例hostsallow=192.168.1.192.168.0.1表示允许192.168.1网段的机器网址为192.168.0.1的机器连接到自己的sambaserver语法printcapname=<打印机配置文件>;

预设printcapname=/etc/printcap

说明设定sambasrever打印机的配置文件

例printcapname=/etc/printcap设定sambasrever参考/etc/printcap档的打印机设定

语法printing=<打印机类型>;

预设printing=lprng

说明设定sambaserver打印机所使用的类型,37行为目前所支持的类型语法guertaccount=<帐户名称>;

预设guertaccount=pcguest

说明设定访问sambaserver的来宾帐户(即访问时不用输入用户名和密码的帐户),若设为pcguest的话则为默认为"nobody"用户

例guertaccount=andy设定设定访问sambaserver的来宾帐户以andy用户登陆,则此登陆帐户享有andy用户的所有权限语法security=<等级>;

预设security=user

说明设定访问sambaserver的安全级别共有四种

share---不需要提供用户名和密码

user----需要提供用户名和密码,而且身份验证由sambaserver负责

server--需要提供用户名和密码,可指定其他机器(winNT/2000/XP)或另一台sambaserver作身份验证

domain--需要提供用户名和密码,指定winNT/2000/XP域服务器作身份验证语法passwordserver=<IP地址/主机名>;

预设passwordserver=<NT-Server-Name>;

说明指定某台服务器(包括windows和linux)的密码,作为用户登入时验证的密码

其他此项需配合security=server时,才可设定本参数

65行usernamelevel

语法passwordlevel=<位数>;

usernamelevel=<位数>;

预设passwordlevel=8

usernamelevel=8

说明设定用户名和密码的位数,预设为8位字符语法encryptpasswords=<yes/no>;

预设encryptpasswords=yse

说明设定是否对samba的密码加密语法smbpasswdfile=<密码文件>;

预设smbpasswdfile=/etc/samba/smbpasswd

说明设定samba的密码文件语法localmaster=<yes/no>;

预设localmaster=no

说明设定sambaserver是否要担当LMB角色(LMB负责收集本地网络的BrowseList资源),通常无特殊原因设为no语法oslevel=<数字>;

预设oslevel=33

说明设定sambaserver的oslevel.oslevel从0到255.winNT的oslevel为33,win95/98的oslevel是1.

若要拿sambaserver当LMB或DMB则它的oslevel至少要大于NT的33以上语法domainmaster=<yes/no>;

预设domainmaster=yes

说明设定sambaserver是否要担当DMB角色(DMB会负责收集其他子网的BrowseList资源),通常无特殊原因设为no

语法preferredmaster=<yes/no>;

预设preferredmaster=yes

说明设定sambaserver是否要担当PDC角色(PDC会负责追踪网络帐户进行的一切变更),通常无特殊原因设为no.

(同一网段内不可有两个PDC,他们会每5分钟抢主控权一次)语法winssupport=<yes/no>;

预设winssupport=yes

说明设定sambaserver是否想网络提供WINS服务,通常无特殊原因设为no.

除非所处网络上没有主机提供WINS服务且需要此台sambaserver提供WINS服务是才设yes

其他winssupport和winsserver只能选择一个语法winsserver=<IP地址>;

预设winsserver=w.x.y.z

说明设定sambaserver是否要使用别台主机提供的WINS服务.通常无特殊原因设为no.除非所处网络上有一台主机提供WINS服务才要设yes

其他winssupport和winsserver

例winsserver=192.168.0.1表示sambaserver要使用192.168.0.1提供的WINS服务

===ShareDefinitions===

[homes]

comment=HomeDirectories

browseable=no

writable=yes

validusers=%S

使用者本身的"家"目录,当使用者以samba使用者身份登入sambaserver后,

sambaserver底下会看到自己的家目录,目录名称是使用者自己的帐号

要提供分享资源时,须先把欲分享的资源以[]符号括住,底下通常会带指令和参数来表示此资源的设定和存取权限等,详情如下

comment---------注释说明

path------------分享资源的完整路径名称,除了路径要正确外,目录的权限也要设对

browseable------是yes/否no在浏览资源中显示共享目录,若为否则必须指定共享路径才能存取

printable-------是yes/否no允许打印

hidedotftles--是yes/否no隐藏隐藏文件

public----------是yes/否no公开共享,若为否则进行身份验证(只有当security=share时此项才起作用)

guestok--------是yes/否no公开共享,若为否则进行身份验证(只有当security=share时此项才起作用)

readonly-------是yes/否no以只读方式共享当与writable发生冲突时也writable为准

writable--------是yes/否no不以只读方式共享当与readonly发生冲突时,无视readonly

vaildusers-----设定只有此名单内的用户才能访问共享资源(拒绝优先)(用户名/@组名)

invalidusers---设定只有此名单内的用户不能访问共享资源(拒绝优先)(用户名/@组名)

readlist-------设定此名单内的成员为只读(用户名/@组名)

writelist------若设定为只读时,则只有此设定的名单内的成员才可作写入动作(用户名/@组名)

createmask-----建立文件时所给的权限

directorymask--建立目录时所给的权限

forcegroup-----指定存取资源时须以此设定的群组使用者进入才能存取(用户名/@组名)

forceuser------指定存取资源时须以此设定的使用者进入才能存取(用户名/@组名)

allowhosts-----设定只有此网段/IP的用户才能访问共享资源

allwohosts=网段exceptIP

denyhosts------设定只有此网段/IP的用户不能访问共享资源

allowhosts=本网段指定IP指定IP

denyhosts=指定IP本网段指定IP语法logfile=<日志文件>;

预设logfile=/var/log/samba/%m.log

说明设定sambaserver日志文件的储存位置和文件名(%m代表客户端主机名)语法maxlogsize=<??KB>;

预设maxlogsize=0

说明设定日子文件的最大容量,单位KB这里的预设值0代表不做限制8.2案例导学——实现默认的文件和打印共享 2.Samba日志文件日志文件存储着客户端访问samba服务器的信息,以及samba服务的错误提示信息等。可以通过分析日志,帮助解决客户端访问和服务器维护等问题。主配置文件中通过“logfile”指定了samba服务的日志文件默认存放在“/var/log/samba/”目录下,启用该语句后,samba服务器会为每台成功连接的客户机分别建立一个日志文件。当samba服务器刚刚建立好后,只有两个初始的日志文件,分别是nmbd.log和smbd.log。8.2案例导学——实现默认的文件和打印共享 3.Samba账号文件Samba服务器中的用户帐号应该是具有与其同名的Linux系统用户帐号,但Samba用户的密码和同名系统用户的密码是相互独立的,需要分别进行维护和更改。smbpasswd命令用于维护Samba服务器的用户帐号,它有以下几种用法:#smbpasswd–asambauser //添加Samba用户帐号#smbpasswd–dsambauser //禁用Samba用户帐号#smbpasswd–esambauser //启用Samba用户帐号#smbpasswd–xsambauser //删除Samba用户帐号最后查看文件smbpasswd的内容,检查是否已正确添加了Samba账号。8.2案例导学——实现默认的文件和打印共享 8.2.3应用测试 1.启动Samba服务 2.从Windows客户端访问Samba服务器

(1)通过网上邻居访问。

(2)使用UNC路径访问 3.从Linux客户端访问Samba服务器

(1)确认已安装samba客户端软件包

(2)访问Samba服务器上的共享资源

(3)smbstatus

(4)挂载samba文件系统到本地使用8.3课堂练习——架设基本的文件服务器

1.任务及分析任务情境:公司要在工作组company中添加一台samba服务器作为文件服务器。把需要公开的信息发布在一个名为public的共享目录“/share”中。为实现集中管理,还要为公司各部门建立相应的目录。比如销售部的资料存放在samba服务器的“/cmpdata/sales/”目录下,要求只允许销售部员工和总经理访问,并且只允许销售部经理对数据进行维护。任务分析:该案例涵盖了samba的基本配置。首先分析共享目录“/share”,允许所有人访问意味着要为每个来访者建立一个samba帐号,如果设置语句“security=share”,就能允许所有人采用匿名账号nobody进行访问,简化了设置。然而在samba服务器上还存在各部门存放重要数据的目录,为了保证各部门数据的私密性,我们还必须对登录的用户进行筛选,允许或禁止相应的用户访问指定的目录,并且为不同的用户授予不同的访问权限。8.3课堂练习——架设基本的文件服务器

2.配置方案和过程

(1)建立一些测试用的账号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论