220 likes | 588 Views
LINUX 服务器管理技术. 田 钧. 第十六章 samba 服务. samba 的简介 samba 的安装 samba 的配置文件 samba 的启动 samba 的应用程序 samba 应用实例一 samba 的使用. Samba 简介. samba 基础知识 Samba 是一套让 UNIX 系统能够应用 Microsoft 网络通讯协议的软件。它使执行 UNIX 系统的机器能与执行 Windows 系统的电脑分享驱动与打印机。 Samba 属于 GNU Public License ( 简称 GPL) 的软件;因此,你可以合法且免费地使用它。.
E N D
LINUX 服务器管理技术 田 钧
第十六章 samba服务 • samba的简介 • samba的安装 • samba的配置文件 • samba的启动 • samba的应用程序 • samba应用实例一 • samba的使用 2
Samba简介 • samba基础知识 Samba是一套让UNIX系统能够应用Microsoft网络通讯协议的软件。它使执行UNIX系统的机器能与执行Windows系统的电脑分享驱动与打印机。 Samba属于GNUPublicLicense(简称GPL)的软件;因此,你可以合法且免费地使用它。 3
Samba简介 • Samba的主要功能 (1)提供WindowsNT风格的文件和打印机共享Windows95、Windows98、WindowsNT等以据此共享UNIX等其他操作系统的资源,外表看起来和共享NT的资源没有区别。 (2)解析NetBIOS名字IP在Windows网络中,提供检索情报的服务器就被称为浏览服务器.Samba可以有效地完成这项功能在跨越网关的时候Samba还可以作WINS服务器使用。 (3)提供SMB客户功能利用Samba提供的smbclint程序可以从UNIX下以类似于FTP的方式访 问Windows的资源。(4)使用 Linux 和 SAMBA替代Windows NT/2000 域控制服务器。 4
Samba安装 • 安装Samba所需的软件包 #rpm –ivh samba-client-3.0.2-6.3E #rpm –ivh samba-3.0.2-6.3E #rpm –ivh redhat-config-samba-1.0.16-1 #rpm –ivh samba-common-3.0.2-6.3E 5
Samba配置文件 • Samba的配置文件 Samba组件的配置文件是 /etc/samba/smb.conf,该文件几乎包含了Samba系统程序运行时所需的所有配置信息。 配置文件中有比较重要的几个节:[gloabal]、[homes]、[printers],下面分别给与说明。 1)[gloabal]节 在全局参数中,参数的设置直接影响samba系统。 2)[homes]节 所有使用者的home目录,当任何一个客户访问Samba服务器时,在网络资源中都能出现自己的home目录共享。 3)[printers]用来配置打印机并共享打印机的设置。 6
Samba的启动 • 核心进程及其启动 Samba 有两个守护进程:smbd 和nmbd,它们是Samba的核心进程。nmbd进程使其他计算机浏览Linux服务器,Smbd进程在SMB服务请求到达时对它们进行处理,并且为使用或共享的资源进行协调。 Samba的启动方式: [root@test root]# /etc/rc.d/init.d/smb start 或者 [root@test root]# service smb start Starting SMB services: [ OK ] Starting NMB services: [ OK ] 7
Samba应用程序 • Samba应用程序 smbclient :访问所有共享资源 smbstatus: 列出当前所有的samba连接状态 smbpasswd:修改samba用户口令、增加samba用户。 nmblookup:用于查询主机的NetBIOS名,并将其映射为IP地址 testparm: 用于检查配置文件中的参数设置是否正确 8
配置实例 • 一个配置文件的实例 #======================== Global Options =======================#[global]# workgroup = NT-Domain-Name o Workgroup-Name,比如: THEDOMAIN # PDC域 workgroup = THEDOMAIN# 在其他的机器中声明的本机器的名称netbios name = SMBServer# 这个声明会出现在Windows的“网络邻居”中server string = Samba Server de este lugar#......................................................................................................................................## 这一行由于安全的原因很关键,只许在局域网中特定的计算机的连接。 # 在这个例子中,是192.168.8.0(C级网络)的网络 # 和“环路”(loopback)的接口是可以连接的。 # 更多的细节,请阅读smb.conf man手册。 # 比如:只有从规定开始的ip以后的地址才能共享资源。 # 192.168.8 和 127 (以后的注释); hosts allow = 192.168.8. 127. 9
配置实例 • 一个配置文件的实例 # 如果你想自动载入一个打印机的清单,这样就不必一个一个手动录入,可以使用:; load printers = yes#......................................................................................................................................## 覆盖printcap的路径是可能的。; printcap name = /etc/printcap#......................................................................................................................................## 在SystemV系统中 printcap对lpstat名称属性一定允许 # 自动地从SystemV(这么个词!:-))的spool系统中取得打印机列表。 ; printcap name = lpstat#......................................................................................................................................## 如果打印机系统是非标准的,就需要指定是什么打印系统。 # 现在支持的打印系统有:# bsd, sysv, plp, lprng, aix, hpux, qnx ; printing = bsd#......................................................................................................................................## 如果你需要一个guest帐户,你不要注释掉下面这行。 # 你一定么加入这条到/etc/passwd里,否则这个用户无“人”可用。 ; guest account = pcguest 10
配置实例 • 一个配置文件的实例 # 下面这条就是使得每台计算机都有一个不同的log文件, # 通过这个文件和SAMBA服务器相连。 log file = /var/log/samba/log.%m# 设置log文件长度的限制(单位 Kb)。max log size = 50# 阅读security_level.txt for得到更多的细节 # 指定验证密码的方式# 用户级的安全策略=每个用户都有自己的密码 (SAMBA密码) security = user# 如果使用服务器级的安全策略,验证过程在另一个机器上进行。 # 只有在使用服务器级的安全策略时,才使用值"password server" # 密码服务器等于【认证服务器地址】。 ; password server = <NT-Server-Name># 如果你想使用加密的密码,请阅读Samba文档中的ENCRYPTION.TXT, # Win95.txt和WinNT.txt。# 你只有清楚的了解这个属性的足够多的信息才能使用它。 # 信息:Win95,Win98和 WinNT 可以发送加密的密码。 encrypt passwords = yes 11
配置实例 • 一个配置文件的实例 # 使用下列的行来定制你的配置。# 在网络中的每个计算机,%m 取代了自身netbios的名字。 ; include = /usr/local/samba/lib/smb.conf.%m# 在你会发现文档和一些流行的“提示”会告诉你下面的选项可以得到更好的性能。 # 试试! # 阅读speed.txt和手册来知道更多的细节。socket options = TCP_NODELAY# Samba 可以配置多种的网络接口。 # 如果你使用多种网络接口,你一定要在下面列出来。 # 阅读手册来知道更多的细节。 ; interfaces = 192.168.8.2/24 192.168.12.2/24# Browser 控制选项: # 如果你不想让samba做为网络中的主browser, 设置"local master = no"。 local master = yes# 在OS 水平上,本服务器当选主browser优先权的设置。 # 一般地,缺省值可能就可以了。 ; os level = 33 12
配置实例 • 一个配置文件的实例 # 域主机指定Samba成为域中主Browser。 # 这样允许Samba运行域控制器和在不同的TCP/IP子网中能被“看成”一台机器。 # 如果你使用了 Windows NT/2000域控制器,你就不应该使用它。 domain master = yes# 更高级的域主在启动中使得Samba成为一个局域的Browser, # 这使得它有更多的机会(选举成为域主)。 # 如果我们有2个以上的服务器,级别高的服务器会更受“欢迎”,# 客户机会在一个列表中搜寻到一台服务器的。 preferred master = yes# 只有你使用NT/2000 服务器在以一个主域控制器(PDC)在运行,你才能使用下条。 ; domain controller = <NT-Domain-Controller-SMBName># 如果你想把SAMBA当成Windows 9x/Me 工作站的“域登陆服务器”,你要使用下条。 domain logons = yes# 如果你使用了“域登陆”,你一定要使用一个登陆脚本, # 在Windows网络中的每台机器或者每个用户。 # 每个工作站的特定登陆批处理是 ; logon script = %m.bat 13
配置实例 • 一个配置文件的实例 # 每个用户的特定登陆批处理是; logon script = %U.bat# 那里存放零星的profiles文件 (只对Win95和 WinNT有效) # %L 取代这个服务器的NetBIOS名字, %U 取代用户名# 如果你使用它,一定不要注释掉下面的Profiles共享 ; logon path = \\%L\Profiles\%U# Windows互联网解析服务器: # WINS支持 — 告知NMBD使能它的WINS 服务器。 # WINS协议 把机器名转换成IP地址, # 它象TCP/IP中DNS那样工作。 ; wins support = yes# WINS服务器-告知Samba的NMBD部件成为WINS的一个客户。 # SAMBA服务器可以成为其中的一个:WINS 服务器或 WINS客户机, # 但是不可以同时2者皆是。# 这里WINS IP服务器一定要指定。; wins server = 192.168.8.1 14
配置实例 • 一个配置文件的实例 # WINS代理-告知Samba回应那些没有WINS能力的客户的名字解析的请求, # 这个情况只有在网络中至少有一台WINS服务器时才有效。 # 缺省是不。; wins proxy = yes#......................................................................................................................................## DNS代理-告知Samba是否解析NetBIOS名字# 版本1.9.17 内建的缺省是“是”, 从版本1.9.18 变成了“否”# 这里我们可以告知SAMBA名字解析使用DNS或者不。 # dns proxy = yes# dns proxy = no (name resolution will be made by using the file lmhosts )#......................................................................................................................................## 如果登陆的驱动盘没有被指定,Z:单元会自动登陆的。logon drive = P:#......................................................................................................................................## 当一个登陆出现时,这个脚本被执行: /etc/samba/netlogon/SAMBA.BAT # 并且使用"netuse"来登陆磁盘单元 logon script = SAMBA.BAT 15
配置实例 • 一个配置文件的实例 #====================== Share Definitions ========================## 每个用户的私人目录 # 单位 P: [homes]comment = Home Directoriesbrowseable = nowritable = yesreadonly = noforce create mode = 0700create mode = 0700force directory mode = 0700directory mode = 700 16
配置实例 • 一个配置文件的实例 #临时文件目录 [# This one is useful for people to share files ;[tmp] ; comment = Temporary file space ; path = /tmp ; read only = no ; public = yes 17
配置实例 • 一个配置文件的实例 #-------------------------------------------------------------------------------------------## 服务器的CD-ROM [cdrom]comment = CD-ROMpath = /mnt/cdrompublic = yeswritable = no 18
Samba的使用 • 在Linux中使用Linux共享资源 [root@test root]# smbclient //192.168.2.187/public -U gongguan Password: Domain=[GDLC] OS=[Unix] Server=[Samba 3.0.10-Debian] smb: \> ls . D 0 Sun Feb 6 02:15:54 2005 .. D 0 Mon Dec 20 22:48:32 2004 embedded D 0 Sun Jan 23 22:38:01 2005 visio2003 D 0 Wed Dec 29 05:25:09 2004 using_samba D 0 Thu Dec 30 20:55:23 2004 LinuxOS D 0 Sun Feb 6 02:18:14 2005 README.txt 65 Sun Feb 6 02:15:54 2005 32913 blocks of size 2097152. 21509 blocks available smb: \> 19
Samba的使用 • 在windows系统中使用Linux共享资源 a.登录进入windows网络,通过网上邻居查看、使用共享资源。 b. 命令行下工具使用共享资源(运行 cmd ) Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp. C:\Documents and Settings\gongguan>net use w: \\192.168.2.187\public 密码或用户名在 \\192.168.2.187\public 无效。 为 '192.168.2.187' 输入用户名: gongguan 输入 192.168.2.187 的密码: 命令成功完成。 在我的电脑里就会出现w:盘符, 内容为\\192.168.2.187\public 20
Samba资源 • Samba文档 /usr/share/doc/samba-3.0.2/ • Samba官方网站 http://us4.samba.org/samba/ • 中文书籍 《实战samba》 21
课后实验 • 配置samba服务器 实现功能要求: 1、把你的系统/tmp共享出来,共享名为 myshare 2、用户无需密码即可访问 3、并用SMBCLIENT连接此共享名实现文件上传 和下载功能。 22