当前位置:Linux教程 - Linux综合 - Samba简介

Samba简介

  Samba是由Andrew Tridgell在1991年(和Linux诞生的时间接近)制作的,当时他使用的是DEC的Pathworks网络,但是他发现无法同时使用Sun的NFS协议(正如我们前面介绍的,NFS是一个非常有用的网络协议),于是,连Socket(套接字)都不熟悉的他开始尝试自己在PC机上实现NFS,经过不断的摸索,他终于在自己的计算机上实现了NFS,采用的网络协议是NetBIOS(因为NetBIOS是公开的,可以合法地得到)。到了1992年1月,他开发出了0.1版,称为Server 0.1,随后又开发了一段时间,由于得到了X终端,他放弃了进一步的开发。直到1992年底,从一封电子邮件中,Andrew Tridgell获知了Linux,一个爱好者将Server 1.0转换到了Linux上,很快,人们发现这个程序可以直接使用,应用户的要求,Adrew Tridgell开始在Linux上开发,同时他发现smb-server已经被别人注册了,所以就只好起名为Samba,这就是Samba这个名称的由来。读者如果感兴趣的话可以访问http://www.ssc.com/lj/issue7/samba.Html了解这段历史。 1. Samba服务能够做什么  在网络上共享目录,就好像一台文件服务器一样。  在网络上共享打印机。  决定每一个目录由谁来使用,可以让一个人、某些人、组和所有人访问。  决定打印机由谁来使用,可以让一个人、某些人、组和所有人使用。 可以看出,安装和配置好了Samba服务器后,Linux就可以Windows网络中的文件和打印服务器了。 2. Samba的安装 我们假设用户在安装Red Hat Linux的时候,已经选择了安装Samba(如果安装的时候你选择了everything,那么你的计算机上已经有了Samba),如果没有安装,可以从光盘的RedHat/RPMS目录下安装,也可以到FTP://metalab.unc.edu/pub/Linux/system/network/samba/去寻找最新版本,安装的时候,请参考samba-HOWTO和软件提供的帮助文件。 3. Samba软件包的内容 Samba是SMB客户程序/服务器软件包,它主要包含以下程序:  SMB服务器smbd:为SMB客户机如Windows 9x/NT等提供Windows NT和Lan Manager风格的文件和打印服务。  Netbios(RFC1001/RFC1002)名字服务器nmbd:可以提供浏览支持。用户甚至可以用Samba作为局域网的主浏览服务器。  SMB客户程序smbclient:类似ftp程序,用以从UNIX、Netware和其他操作系统上访问SMB服务器上的资源(如文件、打印机)  SMB客户服务程序的tar扩展smBTar:用以方便地拷贝SMB服务器上的文件。 在Linux上,Samba还提供了挂卸SMB文件系统的工具程序smbmount(smbmnt)和smbumount。 samba的核心是smbd和nmbd,如果你用ps –ef可以看到这两个进程,那么你的机器已经在运行samba了。Samba服务的状态查询、启动和关闭: # /usr/bin/smbstatus # /etc/rc.d/init.d/smb stop # /etc/rc.d/init.d/smb start 4. 定制Samba 这部分内容介绍如何配置Samba,主要就是如何调整/etc/smb.conf文件,所以请现在备份一下你的smb.conf文件。原始的smb.conf文件如下,我们在后面的配置过程中,会把相关的部分拿出来单独介绍,为了方便,我们把原始文件的注释部分用中文代替。 smb.conf文件的作用和语法类似于Windows 3.x里面的ini文件,该文件现在一般位于/etc目录下。 smb.conf文件的语法格式包含了许多区段(section),每一个区段都有一个名字,用方括号括起来,其中比较重要的区段是[global]、[homes]和[printers],[global]区段定义了全局参数,[homes]区段定义了用户的主目录文件服务,[printers]区段定义了打印机共享服务。
[1] [2] [3] 下一页 

每一个区段里面都定义了许多参数,格式为“参数名 = 参数值”,等号两边的空格被忽略,参数值两边的空格也被忽略,但是参数值里面的空格有意义。如果一行太长,用“”进行换行。 # Samba的配置文件,用户应该在修改前仔细阅读smb.conf(5)的手册页。 # Samba有许多选项,大多数没有列在本文件中(手册页约130页) # # 所有以分号;和井号#开头的行都表示注释,这些行都被忽略,本文约定, # 文件中用井号表示评论,分号表示可以激活的选项 # # 当你修改本文件后,应该运行testparm命令以检查语法错误 # #=======================设置全局变量的区段==================================== [global] # workgroup = NT的域名或者工作组名 workgroup = MYGROUP # server string 等价于NT的描述域(description field) server string = Samba Server # 下面的选项对于安全十分重要,它限制连接到当前服务器的本地网络的IP地址。 # 下面的例子中,只允许两个C类网络地址和‘loopback'界面访问SMB服务器。 # 更多信息,查看smb.conf的手册页。如果该选项要激活,把分号去掉。 ; hosts allow = 192.168.1. 192.168.2. 127. # 自动加载打印机,而不是每次单独设置 printcap name = /etc/printcap load printers = yes # 除非你的打印系统的类型不标准,否则不用设置下面的参数,当前支持的打印 # 系统有:bsd, sysv, plp, lprng, aix, hpux, qnx ; printing = bsd # 如果希望建立客户账号,激活此选项,同时把此账号加入/etc/passwd文件中 # 否则使用用户"nobody"作为客户账号 ; guest account = pcguest # 对从不同机器建立的连接建立不同的日志文件 log file = /var/log/samba/log.%m # 限制日志文件的最大尺寸(单位是KB) max log size = 50 # 安全模式,大多数用户希望用户级的安全, # 详细信息参考security_level.txt文件。 security = user # 当security = server时使用口令服务器选项 ; passWord server = # 输入口令应该和真实口令的前面Password Level个字符相符合 # 输入用户名应该和真实用户名的前面username level个字符相符合 ; password level = 8 ; username level = 8 # 用户可能需要使用口令加密,在使用下面的选项之前,请仔细 # 阅读ENCRYPTION.txt,Win95.txt和WinNT.txt文件。 # 用户密码文件可以存放在/etc/passwd文件中 ; encrypt passwords = yes ; smb passwd file = /etc/smbpasswd # 如果要允许在Windwos中的密码改动更新Linux系统的密码,就需要下面的选项. # NOTE: Use these with 'encrypt passwords' and 'smb passwd file' above. # NOTE2: You do NOT need these to allow workstations to change only # the encrypted SMB passwords. They allow the Unix password # to be kept in sync with the SMB password. ; unix password sync = Yes ; passwd program = /usr/bin/passwd %u ; passwd chat = *New*UNIX*password* %n *ReType*new*UNIX*password* %n *passwd:*all*authentication*tokens*updated*sUCcessfully*
上一页 [1] [2] [3] 下一页 

# Unix用户可以映射成不同SMB用户名 ; username map = /etc/smbusers # 对每个不同的客户机使用不同的配置文件,%m代表客户机的Netbios名字 ; include = /etc/smb.conf.%m # 下面的选项可以提高服务器的性能,特别是使用smbmount挂卸SMB文件系统时。 # 参考speed.txt文件。 socket options = TCP_NODELAY # 如果SMB服务器使用了多个网卡,必须在下面列出并进行配置 ; interfaces = 192.168.12.2/24 192.168.13.2/24 # Configure remote browse list synchronisation here # request announcement to, or browse list sync from: # a specific host or from / to a whole subnet (see below) ; remote browse sync = 192.168.3.25 192.168.5.255 # Cause this host to announce itself to local subnets here ; remote announce = 192.168.1.255 192.168.2.44 # 浏览器控制选项:如果你不想让Samba服务器成为网络中的主浏览器, # 那么local master设置为no,否则设置为yes(此时将参加主浏览器的竞争) ; local master = no # 竞争主浏览器时对自身的评价 ; os level = 33 # Domain Master specifies Samba to be the Domain Master Browser. This # allows Samba to collate browse lists between subnets. Don't use this # if you already have a Windows NT domain controller doing this job ; domain master = yes # Preferred Master causes Samba to force a local browser election on startup # and gives it a slightly higher chance of winning the election ; preferred master = yes # Use only if you have an NT server on your network that has been # configured at install time to be a primary domain controller. ; domain controller = # Enable this if you want Samba to be a domain logon server for # Windows95 workstations. ; domain logons = yes ; domain controller = # Enable this if you want Samba to be a domain logon server for # Windows95 workstations. ; domain logons = yes