基于linux的samba服务器的配置 正文新.doc_第1页
基于linux的samba服务器的配置 正文新.doc_第2页
基于linux的samba服务器的配置 正文新.doc_第3页
基于linux的samba服务器的配置 正文新.doc_第4页
基于linux的samba服务器的配置 正文新.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

李莲 基于Linux下的Samba服务器配置 第21页 共21 页 1引言随着Linux操作系统的发展和成熟,国内外使用Linux操作的用户不断增加。由于Linux操作系统具有安全、稳定、耗用资源相对Windows操作系统较少并提供了完整的Internet/Intranet解决方案,因而,用Linux操作系统作为网络管理服务器来组建网络方案的用户不断增加。而目前Windows NT网和Window操作系统的工作站用户比率很大,如何使Windows的网络用户能以熟悉的图形化界面方式访问Linux操作系统提供的共享文件,并实现共享文件的操作是Windows用户所关心的问题。几乎所有的Linux发行套件都提供了一个很好的工具Samba,可以轻松实现文件共享。Samba是基于SMB协议的一个应用程序,借助Samba Linux可以在Windows平台的计算机中创建与使用共享。另外Samba提供了一些使Linux用户从Windows计算机进入共享和文件传输的工具。利用Samba服务器可在Windows机器上操作Linux机器上文件和其它资源 1 。本课程设计依据Linux操作系统提供的SMB服务器简单介绍如何安装和配置Samba服务器,实现Windows下访问Linux共享文件。1.1、Samba历史Samba的开发者是Andrew Tridgell。他是从1991年12月开始着手开Samba的,当时他还是澳大利亚国立大学计算机科学实验室的研究生。根据他自己的解释,在他测试DEC公司eXcursion软件Beta版时,试图反汇编DEC公司DOS下的Pathworks网络所用的文件共享协议程序,并因此产生了这一思想。eXcursion为PC机提供了X Window服务。在测试eXcursion时不能使用PC-NFS的文件共享协议,并且需要用Pathworks进行安装。这样产生了一题:Pathworks限制了DEC平台的网络文件服务功能,使之只能运行Ultrix或VMS。作为一个具有开放系统思想的人,Andrew决定监视Pathworks的网络流量,以检查是否有可能将该协议移植到其他平台上。这需要对网络编程有一定的研究,而且需要使用软件工具捕获网络中的报文。在对Pathworks的报文数据进行逐位逐字节的分析之后,他已经能够在Sun计算机平台上设计一些基本的文件操作了。在对协议进行研究时,他阅读了关于NBT的RFC文档。尽管他无法确定NBT标准和他的SMB应用之间的关系,他仍然继续工作,并在1992年1日推出了“ Server 0.1”。 几个月,Andrew继续将该软件向其他非DEC平台移植。这项工作还包括修补bug和增加一些功能。然后他推出了一个新的版本,“Server 1.0”,在Internet上发布了这一软件。接下来,像所有成功的软件开发项目一样,在随后的几年里,软件的代码按照用户的需要进行了相应的修改。 个名叫Dan Shearer的Linux迷对此软件的非常感兴趣的来信后,这个项目又继续进行。此外,DEC公司也发来请求,希望他们能将该软件封装在随Alpha版一起发布的CD盘中。而Linux与PC机的互连,以及Microsoft SMB标准的制定,也进一步推动了Samba的发展。在1993年12月,该项目以“Samba for UNIX”的名字重新露面。“Server”也被“smbserver”所替代,然而,由于商标上的歧义,这一名字在不久以后就被放弃了。在为软件重新命名的过程中,Andrew在UNIX的/usr/dict/words 数据库中找到了一个含有“SMB”的词。这样“Samba”这一名字就诞生了。 1.2Samba简介 随着计算机网络的发展,实现不同操作系统之间的文件和打印共享成为一个必然的趋势。在NetBIOS(Network Basic Input/Output System)出现之后,Microsoft就实现了一个网络文件/打印服务系统,这个基于NetBIOS的文件共享协议,被称为SMB(ServerMessage Block)3协议。通过这个协议,就可以实现不同计算机之间共享打印机、串行口和通讯抽象(如命名管道、邮件插槽等)。因此,为了让Windows和Linux计算机相集成,最好的办法即是在Linux计算机中安装支持SMB/CIFS协议的软件,这样Windows客户就不需要更改设置,如同使用Windows服务器一样,就可以使用Linux计算机上的资源了 2 。简单地说,Samba服务器是Linux与Windows资源共享的桥梁。Samba服务器可以提供以下功能: (1)把Linux系统下的文件共享给Windows系统; (2)在Linux系统下访问Windows系统的共享文件; (3)把Linux系统下安装的打印机共享给Windows系统使用;(4)在Linux系统下访问Windows系统的共享打印机。1.3Samba工作原理Samba是用来实现SMB的一种软件,它的工作原理是让NETBIOS(Windows网上邻居的通讯协议)和SMB这两个协议运行于TCP/IP通信协议之上,并且使用Windows的NETBEUI协议让Linux计算机可以在网上邻居中被Windows计算机看到。由于SMB通信协议采用的是Client/Server架构,所以Samba软件可以分为客户端和服务器端两部分。通过执行Samba客户端程序Linux主机便可以使用网络上Windows主机所共享的资源;而在Linux主机上安装Samba服务器,则可以使Windows主机访问Samba服务器共享的资源。Samba是在NetBIOS这个通讯协议上面开发出来的,最早IBM开发NetBIOS的目的只是要让局域网内少数电脑进行网络连接的一个通讯协议而已,所以考虑的角度并不是针对大型网络,因此,这个NetBIOS是无法跨越路由(Router/Gateway)的。这个NetBIOS在局域网(Local Area Net-work,LAN)内非常好用,所以微软的网络架构就使用了这个协议来沟通!而最初开发Samba的时候,其实是想让Linux系统可以加入Windows系统来共享使用彼此的文件,所以Samba就架构在NetBIOS上了。3 Samba使用的守护进程有2个:(1)smbd :这个daemon的主要功能就是用来管理Samba主机分享什么目录、共享文件与打印机等的内容。(2)nmbd :这个daemon则是用来管理群组、Net-BIOS NAME等的解析。 Samba每次启动都需要有这2个守护进程。smbd和nmbd使用的全部配置信息都保存在smb.conf文件中。smb.conf向smbd和nmbd两个守护进程说明输出什么,共享输出给谁及如何进行输出以便共享。Samba还包含了一些实用工具。smbclient是一个SMB客户工具,有shell-based用户界面,并与ftp有些类似。应用它可以复制其他的SMB服务器资源,还可以访问其他SMB服务器提供的打印机资源。对于Linux用户,Samba还提供了一个SMB文件系统用以直接安装一个共享的Windows文件目录至Linux文件系统 。 Testparm命令用来快速检查smb.conf问件的语法错误。其它工具用来配置Samba的加密口令文件。42 samba服务器的安装2.1 软件包的安装(1)安装Samba客户端软件clientrpm ivh samba-client-3.0.0-15i386.rmp回车后提示出现错误(出现这种错误的原因是安装系统是只选则了gcc编译器等几个组件)如下:“ error :failed dependencies :Samba-common = 3.0.0 is needed by samba-client-3.0.0-15”出现这个错误叫依赖性关系出错,就是在安装一个软件包的时候,需要另外一个软件包的支持而出现的错误。解决办法如下:安装第一张光盘的rpmdb-fedora这个软件包,可以解决依赖性关系。命令:进入安装包的目录 rpm ivh rpmdb-fedora-1-0.20031103.i386.rpm(2)安装Samba软件包命令:rpm ivh aid samba*.rpm 这样就安装了samba的所有软件包了(客户端和服务器)查询所安装的软件包,使用管道符号过滤出samba命令:rpm qa | gerp samba如果查询结果比较长,可使用more,通过管道传递给more命令:rpm ql |more2.2 检查软件包的内容#rpm -ql samba#rpm -ql samba-common#rpm -ql samba-client在Redhat Linux 9的安装光盘中提供了Samba服务器的rpm包,有以下几个安装Samba服务器的RPM包: (1)Samba-common:包括Samba服务器和客户端均需要的文件 (2)Samba:Samba服务端软件 (3)Samba-client:Samba客户端软件(4)samba-swat:Samba的Web配置工具2.3 服务器的安装 (1)如果在安装Linux时已经安装了Samba,就不需要再安装它了,但如果不确定是否已经安装了Samba,可使用下面的命令来确认: #rpm -qa|grep samba(2)如果确认没有安装Samba 可将Red Hat Linux 9的第一张安装光盘放入光驱中,然后通过下面的命令进行安装: #mount /mnt/cdrom (3)将终端的当前工作目录切换到RedHat Linux 9安装光盘的RedHat/RPMS目录使用如下命令: #cd/mnt/cdrom/RedHat/RPMS(4)安装Samba服务器所需的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(6)弹出光盘。使用如下命令: #cd;eject当已经安装Samba,运行#rpm-qa|grep samba 时可得到如图2.1所示的解面。图2.1 察看是否安装Samba服务器 3.samba服务器的配置可以使用图形化界面的Samba服务器配置工具来进行配置,也可用命令行来配置Samba服务器。下面分别简单介绍图形化和命令两种不同形式对Samba服务器的配置方法。3.1 图形化配置 要使用图形化界面来配置 Samba,使用 Samba 服务器配置工具。Samba 服务器配置工具是用来管理 Samba 共享、用户、以及基本服务器设置的图形化界面。它修改 /etc/samba/ 目录中的配置文件。没有使用该程序进行的改变都会被保留。要使用该程序,必须在运行 X 窗口系统,具备根特权,并且安装了 redhat-config-samba RPM 软件包。Samba的服务器的配的步骤如下:(1)配置服务器设置启动Samba服务器配置工具有两种方式启动该工具一种是从 桌面启动 Samba 服务器配置工具,点击面板上的主菜单 = 系统设置 = 服务器设置 = Samba,另一种是在 shell 提示(如 XTerm 或 GNOME 终端)下键入 redhat-config-samba 命令。打开如图3.1所示的对话框。图 3.1 Samba 服务器配置工具Samba 服务器的第一步是配置服务器的基本设置和几个安全选项。启动了应用程序后,选择首选项 = 服务器设置。打开了如图3.2所示的对话框,在基本选项卡中指定计算机应在的工作组以及对计算机的简短描述 这步操作是今后在Windows系统中的网上邻居所看到计算机名。图 3.2 配置基本服务器设置在基本标签上,指定计算机应在的工作组以及对计算机的简短描述。它们与 smb.conf 中的 workgroup 和 server string 选项相对应。在图3.3种的 安全的设置操作的目的是运行用户从网络中以什么样的验证方式访问该Samba服务器图 3.3 Samba服务器的安全性设置安全标签包含以下选项: 验证模式 它和 security 选项相对应。选择以下验证模式中的一种。ADS Samba 服务器充当活跃目录域(ADS)领域中的一个成员,Kerberos 在服务器上必须被安装和配置,并且 Samba 必须使用 net 工具成为 ADS 领域的一员。net 是 samba-client 软件包的一部分。详情请参阅 samba-client 的说明书页。该选项不会把 Samba 配置成一个 ADS 控制器。域 Samba 服务器依赖于 Windows NT 主要或备份域控制器来校验用户。服务器把用户名和口令传递给控制器,然后等待它们被返回。在验证服务器字段中指定主要或备份域控制器的 NetBIOS 名称。如果加密口令选项被选,它必须被设置为是。服务器 Samba 服务器试图通过把用户名和口令组合传递给另一个 Samba 服务器来校验它们。如果它无法校验,服务器会试图使用用户验证模式来校验它们。在验证服务器字段中指定另一个 Samba 服务器的 NetBIOS 名称。共享 Samba 用户不必为每个 Samba 服务器都输入用户名和口令组合。它们在试图连接 Samba 服务器上的指定共享时才会被提示输入用户名和口令。用户 (默认)Samba 用户必须为每个 Samba 服务器提供一个有效的用户名和口令。如果你想让Windows 用户名选项生效,选择这个选项。 加密口令 如果用户从 Windows 98、带有服务包3的 Windows NT 4.0、或其它最近版本的 Microsoft Windows 中连接,该选项必须被启用。口令在服务器和客户间使用加密格式而非可被截取的纯文本格式传输。它和 encrypted passwords 选项相对应。 来宾账号 当用户或来宾用户要登录入 Samba 服务器时,他们必须被映射到服务器上的有效用户。选择系统上的现存用户名之一作为来宾 Samba 账号。当用户使用来宾账号登录入 Samba 服务器,他们拥有和这个用户相同的特权。该选项和 guest account 选项相对应。这里选择默认设置,点击了确定后,所做改变会被写入配置文件,守护进程会被重新启动;因此改变会立即生效。(2)管理 Samba 用户 管理允许哪些用户可以访问该Samba服务器,可以通过添加,编辑,删除用户的按钮来进行管理。Samba 服务器配置工具要求在添加 Samba 用户之前,在充当 Samba 服务器的系统上必须存在一个活跃的用户账号。Samba 用户和这个现存的用户账号相关联。如图3.4所示。图3.4 管理 Samba 用户要添加 Samba 用户,在图3.1中选择首选项 = Samba 用户,打开如图3.4所示的对话框。然后点击添加用户按钮。打开如图3.5所示的对话框。在创建新 Samba 用户窗口中的本地系统上的现存用户列表中选择Unix 用户名。从现存用户列表中选择一个用户名。图3.5 创建新 Samba 用户 如果用户在 Windows 机器上有一个不同的用户名,并将从 Windows 机器上登录入 Samba 服务器,请在Windows 用户名字段中指定 Windows 用户名。这里输入的是“shanwei”服务器设置首选项的安全活页上的验证模式 必须被设置为用户才能是这个选项生效。 还需要为 Samba 用户配置一个Samba 口令,并再键入一次来确认这个口令。即便你选择了为 Samba 使用加密口令,仍建议为所有用户设置一个不同于系统口令的 Samba 口令。要编辑某个现存用户,从列表中选择它,然后点击编辑用户。要删除某个现存的 Samba 用户,选择这个用户,然后点击删除用户按钮。删除 Samba 用户不会删除相关的用户账号。点击了确定按钮后,用户就会被立即修改。(3)添加共享要添加共享,点击添加按钮。如图3.6所示。基本活页标签配置以下选项: 目录 通过 Samba 共享的目录。这个目录必须存在。 描述 对共享的简短描述。 基本权限 用户应该只能够读取共享目录中的文件还是应该能够读写共享目录中的文件。5图3.6 添加共享在访问活页标签上,选择是否要只允许指定的用户来访问共享还是允许所有 Samba 用户来访问共享。如果你选择了要允许指定用户访问,从可用的 Samba 用户列表中选择这些用户。点击了确定按钮后,共享就会立即被添加。添加后回到Samba服务器的主界面就可以看到被设置成共享的文件如图3.7所示。图3.7 Samba主界面显示共享资源3.2 命令行配置 Samba 使用 /etc/samba/smb.conf 作为它的配置文件。如果你改变了这个配置文件,这个改变直到使用 Service smb restart 命令重启 Samba 守护进程后才会生效。 要指定 Windows 工作组和对它的简短描述,编辑 smb.conf 文件中的以下几行:workgroup = WORKGROUPNAMEserver string = BRIEF COMMENT ABOUT SERVER把 WORKGROUPNAME 换成机器所属的 Windows 工作组名。BRIEF COMMENT ABOUT SERVER 是可选的,它被用作关于 Samba 系统的 Windows 注释。要在 Linux 系统上创建 Samba 共享目录,在 smb.conf 文件中添加以下几行(根据系统需要修改了该文件之后):sharenamecomment = Insert a comment herepath = /home/share/valid users = shanwei public = nowritable = yesprintable = nocreate mask = 0765上面的例子允许用户 shanwei 从 Samba 客户中读写 Samba 服务器上的目录 /home/share。3.3 加密口令 加密口令被默认启用,因为它更安全。如果加密口令没有被使用,纯文本口令就会被使用,它能够被别人使用网络分组嗅探器来截取。建议使用加密口令。Microsoft SMB 协议最初使用纯文本口令。然而,带有服务包3或更高的 Windows NT 4.0、Windows 98、Windows 2000、Windows ME、以及 Windows XP 要求加密的 Samba 口令。要在 Linux 系统和运行以上 Windows 操作系统的系统间使用 Samba,可以编辑 Windows 注册器来使用纯文本口令或配置Linux 系统的 Samba 来使用加密口令。如果要修改注册器,必须为所有 Windows 机器这么做 但是这是很危险的,有可能导致进一步的冲突。为了更高的安全性,推荐使用加密口令。6要配置 Samba 使用加密口令,遵循以下步骤:为 Samba 创建一个单独的口令文件。要根据现存 /etc/passwd 文件来创建,在 shell 提示下键入以下命令:cat /etc/passwd | mksmbpasswd.sh /etc/samba/smbpasswd如果系统使用 NIS,键入以下命令:ypcat passwd | mksmbpasswd.sh /etc/samba/smbpasswdmksmbpasswd.sh 脚本和 samba 软件包一起被安装在/usr/bin 目录上。改变 Samba 口令文件的权限许可,因此只有根用户才有读写权限:chmod 600 /etc/samba/smbpasswd这个脚本不会把用户口令复制到新文件,Samba 用户账号在没有设置口令之前不会被激活。为了更高的安全性,建议把用户的 Samba 口令设置为不同于用户的口令的口令。要设置每个 Samba 用户的口令,使用以下命令(把 username 替换为每个用户的用户名):smbpasswd username加密口令必须被启用。由于它们被默认启用,它们不必在配置文件中被特别启用。不过,它们也不能在配置文件中被禁用。在 smb.conf 文件中,需确定以下行不存在:encrypt passwords = no如果它确实存在,可以在行首加一个分号(;)来把它变成注释,这样该行就会被忽略,加密口令就会被启用。如果该行存在但没有被注释掉,应该删除它或把它变成注释。要在配置文件中特别启用加密口令,给 /etc/samba/smb.conf 文件添加以下几行:encrypt passwords = yessmb passwd file = /etc/samba/smbpasswd在 shell 提示下键入 service smb restart 来确定 smb 服务被启动。如果想让 smb 服务被自动启动,使用 ntsysv、chkconfig、或服务配置工具来在运行时间启用它。当使用了 passwd 命令后,pam_smbpass PAM 模块能够被用来同步用户的 Samba 口令和他们的系统口令。如果用户引发了 passwd 命令,他用来登录到红帽企业 Linux 系统的口令以及他要连接 Samba 共享所必须提供的口令就会被改变。要启用这个功能,把以下行添加到 /etc/pam.d/system-auth 的 pam_cracklib.so 之下:password required /lib/security/pam_smbpass.so nullok use_authtok try_first_pass3.4 启动和停止服务器 安装并配置完Samba服务器后下一步就是要启动Samba服务,在通过 Samba 共享目录的服务器上必须运行 smb 服务。使用以下命令来查看 Samba 守护进程的状态:/sbin/service smb status使用以下命令来启动守护进程:/sbin/service smb start使用以下命令来停止守护进程:/sbin/service smb stop要在引导时启动 smb 服务,使用以下命令:/sbin/chkconfig -level 345 smb on这几条命令在终端上的使用响应的结果如图3.8所示。图3.8 Samba 服务的启动和终止4 在Windows的网上邻居中访问Samba服务器 在Linux中

温馨提示

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

评论

0/150

提交评论