Samba 配置New
- 格式:docx
- 大小:650.43 KB
- 文档页数:18
Red Hat Enterprise Linux 5下安装配置Samba服务2010-09-28 23:34:25| 分类:Linux Samba | 标签:linux samba f服务器配置安装|字号大中小订阅环境:Red Hat Enterprise Linux 5samba-3.0.25b-0.el5.4samba-common-3.0.25b-0.el5.4samba-client-3.0.25b-0.el5.4system-config-samba-1.2.39-1.el5一、安装1、检查是否已经安装Samba服务器(默认只是安装了Samba的客户端)#rpm -qa | grep samba若显示:samba-common-3.0.25b-0.el5.4samba-client-3.0.25b-0.el5.4则表示还没有安装Samba服务器端,只是安装了Samba客户端2、开始安装1)放入Red Hat Enterprise Linux 5安装光盘,并挂载好#mount /dev/cdrom /mnt/cdrom2)可使用:命令查看其安装文件# ls /mnt/cdrom/Server/ | grep sambasamba-3.0.25b-0.el5.4.i386.rpmsamba-client-3.0.25b-0.el5.4.i386.rpmsamba-common-3.0.25b-0.el5.4.i386.rpmsamba-swat-3.0.25b-0.el5.4.i386.rpmsblim-cmpi-samba-0.2.3-29.EL5.i386.rpmsblim-cmpi-samba-devel-1-29.EL5.i386.rpmsblim-cmpi-samba-test-1-29.EL5.i386.rpmsystem-config-samba-1.2.39-1.el5.noarch.rpm再进行安装# rpm -ivh /mnt/cdrom/Server/samba-3.0.25b-0.el5.4.i386.rpm(samba服务器)# rpm -ivh /mnt/cdrom/Server/system-config-samba-1.2.39-1.el5.noarch.rpm(图形化配置程序)# rpm -ivh /mnt/cdrom/Server/samba-swat-3.0.25b-0.el5.4.i386.rpm(基于HTTP的配置工具,可不安装)二、配置1、配置文件:/etc/samba/smb.conf(其中“#”号开头是注释语句,“;”开头是示范语句)可使用如下语句修改它:# vi /etc/samba/smb.conf配置完后可使用如下语句检查配置文件#testparmsmb.conf文件的整体结构:[global]……[homes]……[printers]……[public]……1、[global]workgroup=MYGROUP # 工作组server string=Samba Server Version %v #服务器名netbioo name=Samba Serverinterfaces=lo 192.168.12.2/24 192.168.13.2/24host allow=127. 192.168.1. 192.168.2.……[homes]comment=Home Directoriesbrowseable=nowriteable=yes; valid users=%S; valid users=MYMAIN\%S[printers]printable=yes 可打印comment=All Printerspath=/var/spool/samba; guest ok=no; writeable=noprintable=yes[public] #共享文件夹名称comment=toplinuxpath=/export/samba #共享文件夹真实目录writeable=yes #可写; browseable=yes #可浏览guest ok=yes #映射成nobody用户Samba服务器配置全解1、全局设置[global]# workgroup = NT-Domain-Name or Workgroup-Nameworkgroup = MYGROUP下面的这句话是后加的,加入的意义为:使WIN用户可以看到主机的名字,但我将此行注释掉后,没看到什么影响。
Samba服务器的配置amba服务器的配置实验步骤:1、安装有关Samba的RPM包(samba、samba-common、samba-client)2、创建Samba用户3、修改配置文件4、重启samba服务5、设置目录访问权限6、测试具体步骤如下:1、安装RPM包(缺省情况下RHEL5安装了samba的相关软件包,可以用如下命令查看)[root@localhost ~]#rpm -qa | grep sambasamba -----samba服务器程序的所有文件samba-common -----提供了Samba服务器和客户机中都必须使用的公共文件samba-client -----提供了Samba客户机的所有文件samba-swat -----以Web界面的形式提供了对Samba服务器的管理功能2、创建samba用户[root@localhost ~]#smbpasswd -a user1 (“-a”是创建samba用户,“-x”是删 [root@localhost ~]#smbpasswd -a user2 除samba用户,“-d”是禁用samba用[root@localhost ~]#smbpasswd -a user3 户帐号,“-e”是启用samba用户帐号)3、修改配置文件samba配置文件的位置:/etc/samba/smb.conf[root@localhost ~]#vim /etc/samba/smb.confVi大开配置文件后,首先介绍一下Samba服务器的安全级别,如图所示:系统默认设置“user”Samba服务器的安全级别分为5种,分别是user、share、server、domain和ads。
在设置不同的级别时,samba服务器还会使用口令服务器和加密口令。
1、user -----客户端访问服务器时需要输入用户名和密码,通过验证后,才能使用服务器的共享资源。
此级别使用加密的方式传送密码。
第四章Samba的安装与配置第四章Samba的安装与配置准备:关闭其他虚拟设备#/etc/init.d/libvirtd stop#/etc/init.d/xend stop#chkconfig libvirtd off#chkconfig xend off4.1 安装要求首先,配置Linux网络,之后安装、配置Samba服务器。
4.2 网络配置1)启动Linux系统,以root用户登录。
2)在控制台输入“ifconfig”命令,判断网卡是否启动。
如图4-1所示。
图4-1 网卡配置信息图中显示只存在一个lo的内部环回,IP地址为:127.0.0.1,eth0网卡并没有启动。
3)输入命令:“vim /etc/sysconfig/network-scripts/ifcfg-eth0”,修改eth0的配置文件。
注:在输入命令的时候,可以按TAB按键进行补齐,以提高输入速度和准确度。
4)将光标移至最后一行,输入“o”进入vi的编辑模式,添加check_link_down()函数。
如图4-2所示:注,仅在虚拟机环境中才需要添加此函数。
图4-2 修改配置文件按ESC键,返回命令模式,输入“:x”或“:wq”保存退出。
5)输入命令ifup eth0,再次判断网卡是否可以启动,图4-3所示网卡已经启动。
图4-3 启动eth0网卡注意:虚拟机的网卡连接方式应为NAT方式,同时主机上相应的Vmware服务都正常运行、且虚拟网卡都未被禁用。
否则,此处启动eth0会失败!6)再次输入“ifconfig”命令,判断网卡是否启动。
如图4-4所示,表示网卡已经正常启动,IP地址为“192.168.211.100”。
使用ping命令验证与主机的连通性。
图4-4 网卡已启动不同的主机环境下,虚拟机所获得的IP地址可能是不同的。
此处所获得的IP是“192.168.67.131”,查看主机上名为“Vmware Network Adapter VMnet8”网卡的IP地址是“192.168.67.1”,即在同一网段。
Samba服务器配置资料大全名目Samba服务器配置资料大全........................................................................... 错误!未定义书签。
1 Samba服务器配置文件 (2)1.1 (1) 全局参数 (2)1.2 (2) 资源共享的选项 (5)1.3 (3) 专门变量 (7)1.4 文件实例: (7)2 Samba 3.x SW AT预验证远程缓冲区溢出漏洞 (8)3 Samba和Windows 的密码处理认证方式 (10)4 linux—windows互联实战经历 (10)5 Samba3.0服务器实战调试 (12)6 SMB的扩展应用 (16)7 Smaba配置文件详细分析〔二〕 (22)1Samba服务器配置文件/etc/samba/smb.conf功能: 设置samba服务器选项和共享资源的设置文件格式: #说明语句[global] //定义samba服务器的全局选项……全局参数=值……[homes] //共享用户主名目……资源共享参数=值……[printers] // 打印机共享……资源共享参数=值……[public] //共享名目设置……资源共享参数=值……以上声明为系统自带的声明,用户也能够依照实际需要定义共享名目:[自定义] //自定义的共享……资源共享参数=值……说明:1.1(1) 全局参数差不多全局参数:Workgroup=域名/工作组名功能:设定samba服务器所属工作组/域的名称)Netbios name=主机名称功能:设置samba服务器的netbios名称Server string=字符串功能:设置samba服务器的描述interfaces=接口名/ip地址功能:设置samba服务器的ip地址,假如不想使用默认IP地址或者想同时使用多个IP地址,能够设置那个选项client code page=850/936功能:设定客户端存取samba服务器的资源时所使用的字符编码表实例:client code page=936安全设置参数:admin users=用户名功能:设置治理员账号socket address=ip地址功能:指定samba服务器监听的ip地址security=user/share/domain/server功能:设置samba的共享安全级别注意:share //表示共享级访问,服务器不对客户机进行身份验证user //表示用户级访问server //表示服务器级访问,被访问的samba服务器要求另一台samba服务器对客户机进行身份验证domain //表示域级访问,由域操纵器对客户机进行身份验证password server=ip址址/主机名功能:指定密码服务器的位置,当security值为server/domain必须设置该参数encrypt passwords=yes/no功能:指定是否使用加密口令注意:关于windows客户机来说,该选项应该设置为yesrestrict anonymous=true/false功能:指定服务器是否承诺win NT/2000以匿名方式登录实例:restrict anonymous=falsesmb passwd file=文件路径功能:指定samba用户密码的文件位置实例:smb passwd file=/etc/samba/smbpasswdmap to guest=never/bad user/bad password功能:设置当用户所输入的用名和密码不正确时的处理方式注意:该选项只有security=share时才有效,该选项能够取以下三种值:never 表示拒绝使用任何资源bad user 表示用户输入用户名正确,但密码错误时,能够承诺以guest登录bad password 表示用户输入的用户名和口令都错误时,能够承诺以guest登录username map=文件路径功能:指定SMB用户名与LINUX用户名映射文件的路径实例:username map=/etc/samba/smbusersguest account=用户名功能:指定来宾账号的名称,默认为nobodyhosts allow= ip地址/主机名/域名功能:设置承诺访问的客户机hosts deny=ip地址/主机名/域名功能:设置禁止访问的客户机打印机设置参数:printcap name=路径功能:设定打印机的配置文件的位置实例:printcap name=/etc/printcapload printers =yes/no功能:设定是否自动装载打印机的装载文件,当要做打印服务器时必须设置为yesprinting = /cups/bsd/lprng/sysv功能:设置打印机相关指令时所采取的模式实例:p rinting=lprngprinter name=名称功能:设置打印机的名称日志设置参数:log file=路径功能:定义日志文件的位置实例:log file=/var/log/samba/%m.logmax log size=数字功能:定义日志文件的最大千字节运行效率参数:change notify timeout=数字功能:设置服务器周期性专门通知实例:change notify timeout=90deadtime=数字功能:客户端无操作多少分钟后服务器中断连接实例:deadtime=10getwd cache=yes/no功能:是否启用cache功能keepalive=数字功能:服务器每隔多少秒向客户端发送keepalive包用于确认客户端是否工作正常max open files=数字功能:同一个客户端最多能打开的文件数目实例:max open files=1000wins设置参数:wins support=yes/no功能:是否支持wins解析实例:wins support=yeswins server=服务器功能:指定wins服务器的位置实例:wins server=192.168.0.2wins proxy=yes/no功能:设置samba服务器是否支持wins代理功能实例:wins proxy=yes1.2(2) 资源共享的选项差不多参数 :comment=说明语句功能:对共享资源的说明path=路径功能:共享资源的路径访问操纵参数:browseable=yes/no功能:是否能够扫瞄共享名目,默认为yesprintable =yes/no功能:设置客户机是否能够使用共享打印机打印avalidable=yes/no功能:设置共享资源是否可用实例:avalidable=yespublic=yes/no功能:设置共享资源是否承诺所有用户访问,除guest用户以外guest ok =yes/no功能:设置是否承诺guest用户访问共享资源guest only=yes/no功能:设置共享名目只承诺guest用户访问read only=yes/no功能:访问用户对共享资源只读valid users=用户名/@组名功能:设定指定承诺访问共享资源的用户/组,多用户名用逗号分开,指定组时要在组名前加@实例:valide users=u1,u2,@g1invalid users=用户名/@组名功能:设定指定禁止访问共享资源的用户/组,多用户名用逗号分开,指定组时要在组名前加@create mode=权限值功能:指定客户机在共享名目中创建文件的默认权限,默认权限为744directory mode =0775功能:指定客户机共享名目中创建文件名目的默认权限,默认权限为755writable=yes/no功能:指定共享的路径是否可写write list=用户名/@组名功能:设定承诺读写共享名目的用户列表实例:write list=abc,@g2read list=用户名/@组名功能:设定只读访问用户列表实例:read list=abc,@cuo自动执行参数:preexec=路径功能:指定客户机连接时要自动执行文件postexec=路径功能:指定客户机断开连接时要自动执行的文件root preexec=路径功能:指定客户机连接时要以ROOT用户身份自动执行的文件实例:root preexec=/bin/mount /dev/cdromroot postexec=路径功能:指定客户机断开连接时要以ROOT用户身份自动执行的文件实例:root postexec=/bin/umount /dev/cdrom1.3(3) 专门变量%S〔大写〕: 当前服务名%P〔大写〕: 当前服务的根名目%u: 当前服务的用户名%h: samba服务器的主机名%m: 客户机的NETBIOS名%L samba服务器的netbios名%v samba版本号%g 给定%u的所在的主工作组名%H 给定的%u的宿主名目%T 当前日期和时刻1.4文件实例:依照以下要求/etc/samba/smb.conf文件:⏹设置samba服务器的工作组名为linuxgroup,NETBIOS名为linux⏹设置samba服务器的访问模式为share⏹共享/soft名目,共享名为soft,该共享名目承诺所有的用户读写操作#vi /etc/samba/smb.conf修改内容如下:[global]Workgroup=linuxgroupNetbios name=linux………Security=share………[homes]………………[printers]………………[soft] //添加如下那个声明comment=applic soft sharedpath=/softbrowseable=yeswritable=yesguest ok=yespublic=yes2Samba 3.x SWAT预验证远程缓冲区溢出漏洞严峻程度:高威逼程度:远程治理员权限错误类型:边界检查错误利用方式:服务器模式CVE(CAN) ID:CAN-2004-0600受阻碍系统Samba 3.0.2Samba 3.0.3Samba 3.0.4详细描述SWAT是Samba Web治理工具。
Samba服务器搭建与配置Samba服务器搭建与配置Samba服务简介Samba的起源:对于windows的⽹上邻居来讲,共享⽂件的⽅式⽤的是SMB和CIFS协议以及NETBIOS协议Linux/Unix之间⽤的是NFS协议。
但是Linux和Windows之间是不能共享的,所以澳⼤利亚国⽴⼤学的Andrew Tridgell,决定开发⼀款软件,这款软件就是为了实现不同的系统之间互相共享⽂件的,于是⼀款叫做SMB的软件横空出世了,但是这个名字不能被注册成商标,因为已经有SMB协议了,于是作者给名字上加了两个A,就成了我们即将使⽤的功能强的⽂件共享服务器: SAMBA。
什么是Samba:Samba是⼀个能让Linux系统应⽤Microsoft⽹络通讯协议的软件,⽽SMB是Server Message Block的缩写,即为服务器消息块,SMB主要是作为Microsoft的⽹络通讯协议,后来Samba将SMB通信协议应⽤到了Linux系统上,就形成了现在的Samba软件。
后来微软⼜把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet ⽂件系统,并且加⼊了许多新的功能,这样⼀来,使得Samba具有了更强⼤的功能。
Samba的功能:Samba最⼤的功能就是可以⽤于Linux与windows系统直接的⽂件共享和打印共享,Samba既可以⽤于windows与Linux之间的⽂件共享,也可以⽤于Linux与Linux之间的资源共享,由于NFS(⽹络⽂件系统)可以很好的完成Linux与Linux之间的数据共享,因⽽ Samba较多的⽤在了Linux与windows之间的数据共享上⾯。
Samba的⼯作原理:SMB是基于客户机/服务器型的协议,因⽽⼀台Samba服务器既可以充当⽂件共享服务器,也可以充当⼀个Samba的客户端,例如,⼀台在Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源⽂件,同时,Samba服务器也可以访问⽹络中其它windows系统或者Linux系统共享出来的⽂件。
命令行配置Samba服务Samba使用/etc/samba/smb.conf作为它的配置文件。
如果你改变了这个配置文件,这个改变直到你使用service smb restart命令重启Samba守护进程后才会生效。
要指定Windows工作组和对它的简短描述,编辑 smb.conf 文件中的以下几行:workgroup = WORKGROUPNAMEserver string = BRIEF COMMENT ABOUT SERVER把WORKGROUPNAME换成你的机器所属的Windows工作组名。
BRIEFCOMMENT ABOUT SERVER 是可选的,它被用作关于Samba系统的Windows注释。
要在你的Linux系统上创建Samba 共享目录,在smb.conf文件中添加以下几行(根据你和你的系统需要修改了该文件之后):[sharename]comment = Insert a comment herepath = /home/share/valid users = tfox carolepublic = nowritable = yesprintable = nocreate mask = 0765上面的例子允许用户tfox 和carole 从Samba 客户中读写Samba 服务器上的目录 /home/share。
加密口令在Red Hat Linux 9中,加密口令被默认启用,因为它更安全。
如果加密口令没有被使用,纯文本口令就会被使用,它能够被别人使用网络分组嗅探器来截取。
建议你使用加密口令。
Microsoft SMB协议最初使用纯文本口令。
然而,带有服务包3或更高的Windows NT 4.0、Windows 98、Windows 2000、Windows ME、以及Windows XP要求加密的Samba口令。
要在RedHatLinux系统和运行以上Windows操作系统的系统间使用Samba,你可以编辑Windows注册器来使用纯文本口令过配置你的Linux系统的Samba 来使用加密口令。
Samba服务器配置和访问Samba共享Samba是一款开源软件,可以实现基于SMB/CIFS协议的文件和打印机共享。
它可以在不同的操作系统之间共享数据,例如在Linux和Windows之间。
在本文中,我们将学习如何配置Samba服务器并访问Samba共享。
配置Samba服务器首先,我们需要安装Samba软件包。
对于基于Debian或Ubuntu的Linux系统,可以使用以下命令进行安装:sudo apt-get updatesudo apt-get install samba安装完成后,我们需要编辑Samba的配置文件smb.conf。
该文件通常位于/etc/samba目录下。
我们可以使用vim或nano等文本编辑器来编辑此文件。
以下是一些重要的配置选项:全局设置[global]workgroup = WORKGROUP # 工作组名称server string = Samba Server %v # 服务器描述信息netbios name = ubuntu # NetBIOS名称security = user # 认证方式map to guest = bad user # 没有Samba帐户时模拟来宾帐户dns proxy = no # 是否启用DNS代理共享设置以下是一个名为smbshare的示例共享,共享路径是/home/smbshare。
[smbshare]path = /home/smbshare # 共享路径valid users = @smbgrp # 允许访问的Samba组guest ok = no # 是否允许来宾访问writable = yes # 是否可写用户设置可以使用pdbedit命令添加Samba用户。
sudo pdbedit -a username替换username为要添加的用户名。
启动Samba服务在完成配置之后,我们需要启动Samba服务,并在防火墙中打开Samba端口(TCP 137-139和TCP / UDP 445)。
Samba详细配置Red Hat Enterprise Linux 5下安装配置Samba服务2010-09-28 23:34:25| 分类:Linux Samba | 标签:linux samba f服务器配置安装|字号大中小订阅环境:Red Hat Enterprise Linux 5samba-3.0.25b-0.el5.4samba-common-3.0.25b-0.el5.4samba-client-3.0.25b-0.el5.4system-config-samba-1.2.39-1.el5一、安装1、检查是否已经安装Samba服务器(默认只是安装了Samba的客户端)#rpm -qa | grep samba若显示:samba-common-3.0.25b-0.el5.4samba-client-3.0.25b-0.el5.4则表示还没有安装Samba服务器端,只是安装了Samba客户端2、开始安装1)放入Red Hat Enterprise Linux 5安装光盘,并挂载好#mount /dev/cdrom /mnt/cdrom2)可使用:命令查看其安装文件# ls /mnt/cdrom/Server/ | grep sambasamba-3.0.25b-0.el5.4.i386.rpmsamba-client-3.0.25b-0.el5.4.i386.rpmsamba-common-3.0.25b-0.el5.4.i386.rpmsamba-swat-3.0.25b-0.el5.4.i386.rpmsblim-cmpi-samba-0.2.3-29.EL5.i386.rpmsblim-cmpi-samba-devel-1-29.EL5.i386.rpmsblim-cmpi-samba-test-1-29.EL5.i386.rpmsystem-config-samba-1.2.39-1.el5.noarch.rpm再进行安装# rpm -ivh /mnt/cdrom/Server/samba-3.0.25b-0.el5.4.i386.rpm(samba服务器)# rpm -ivh /mnt/cdrom/Server/system-config-samba-1.2.39-1.el5.noarch.rpm(图形化配置程序)# rpm -ivh /mnt/cdrom/Server/samba-swat-3.0.25b-0.el5.4.i386.rpm(基于HTTP的配置工具,可不安装)二、配置1、配置文件:/etc/samba/smb.conf(其中“#”号开头是注释语句,“;”开头是示范语句)可使用如下语句修改它:# vi /etc/samba/smb.conf配置完后可使用如下语句检查配置文件#testparmsmb.conf文件的整体结构:[global]……[homes]……[printers]……[public]……1、[global]workgroup=MYGROUP # 工作组server string=Samba Server Version %v #服务器名netbioo name=Samba Serverinterfaces=lo 192.168.12.2/24 192.168.13.2/24host allow=127. 192.168.1. 192.168.2.……[homes]comment=Home Directoriesbrowseable=nowriteable=yes; valid users=%S; valid users=MYMAIN\%S[printers]printable=yes 可打印comment=All Printerspath=/var/spool/samba; guest ok=no; writeable=noprintable=yes[public] #共享文件夹名称comment=toplinuxpath=/export/samba #共享文件夹真实目录writeable=yes #可写; browseable=yes #可浏览guest ok=yes #映射成nobody用户你可能想使用密码编码。
samba 使用方法Samba 是一个网络协议,用于在不同操作系统之间共享文件和打印机。
以下是 Samba 的使用方法:1. 安装 Samba:在 Linux 系统中,可以通过包管理器来安装Samba。
例如,在Ubuntu 上,可以使用以下命令安装Samba:```sudo apt-get install samba```2. 配置 Samba:Samba 的主要配置文件是`/etc/samba/smb.conf`。
您可以使用文本编辑器(如 vim)打开该文件,并进行适当的配置。
3. 创建共享目录:在 Samba 中,您可以选择共享一个或多个目录。
您可以使用命令行或文件管理器来创建这些共享目录。
例如,您可以使用以下命令创建一个名为 "shared" 的共享目录:```sudo mkdir /shared```4. 设置共享权限:要设置共享目录的权限,可以编辑`/etc/samba/smb.conf` 文件,并在适当的部分添加以下行:```[shared]comment = Shared Directorypath = /sharedvalid users = @smbuserwritable = yesbrowseable = yes```此示例中,`shared` 是共享目录的名称,`path` 是共享目录的路径,`valid users` 是可以访问共享目录的用户列表,`writable` 是指定是否允许对共享目录进行写操作,`browseable` 是指定共享目录是否在网络上可浏览。
5. 重启 Samba 服务:在完成配置后,您需要重启 Samba 服务以使更改生效。
可以使用以下命令重启 Samba 服务:```sudo systemctl restart smbd```6. 访问共享文件夹:现在,您可以从其他计算机上的操作系统来访问共享文件夹。
在 Windows 计算机上,可以通过资源管理器中的 "网络" 菜单找到共享文件夹。
Samba 配置1.0【安装samba RPM包】安装samba 软件包(RHEL 6.4 X86_64)[root@localhost ~]# yum install samba-*[root@localhost ~]# yum install cifs-*软件包说明:samba:这个套件主要包含了 SAMBA 的主要 daemon 文件 ( smbd 及 nmbd )、 SAMBA 的文档 ( document )、以及其它与 SAMBA 相关的 logrotate(日志) 设定文件及开机预设选项文件等;samba-common:这个套件则主要提供了 SAMBA 的主要配置文件 (smb.conf) 、 smb.conf 语法检验的测试程序( testparm )等等;samba-client:这个套件则提供了当 Linux 做为 SAMBA Client 端时,所需要的工具指令,例如挂载 SAMBA 文件格式的可执行文件 smbmount 等等2.0【samba介绍】2.1 NetBIOS 通讯协议事实上,就像 NFS 是架构在 RPC Server 上面一样, SAMBA 这个文件系统是架构在 NetBIOS ( Network Basic Input/output System, NetBIOS )这个通讯协议上面所开发出来的。
既然如此,我们当然就要了解一下NetBIOS !最早 IBM 发展出 NetBIOS 的目的仅是要让局域网络内少数计算机进行网络连结的一个通讯协议而已,所以考虑的角度并不是针对大型网络,因此,这个 NetBIOS 是无法跨路由的 (Router/Gateway)。
这个NetBIOS 在局域网络内 ( Local Area Network, LAN ) 实在是很好用,所以微软的网络架构就使用了这个来进行连接!而 SAMBA 最早发展的时候,其实是想要让 Linux 系统可以加入 Windows 的系统当中来分享使用彼此的文件数据的,所以当然 SAMBA 就架构在 NetBIOS 发展出来的。
不过,如果单纯的使用 NetBIOS 而已,偏偏 NetBIOS 是无法跨路由的,那么该服务器的使用范围不就受限相当的多了?好在,我们还有所谓的 NetBIOS over TCP/IP 的技术呢!这是什么样的技术?!举个例子来说好了,我们知道 TCP/IP 是目前网络连接的基本协议,现在,我们将 NetBIOS 想成是一封明信片,这个明信片只能让您自己欣赏而已,如果今天我们要将这个明信片送到远方的朋友那边时,呵呵!就需要透过邮件系统( 例如邮局、国际快递等等的 ) 来传送了!这个 TCP/IP 就可以视为邮件传递系统啦!透过这个 NetBIOS over TCP/IP 的技术,我们就可以跨路由的使用 SAMBA 服务器所提供的功能!当然,目前 SAMBA 还是比较广泛的使用在 LAN 里面。
注:或许您会发现在 Windows 网络设定里面常常看到 NetBEUI 这个咚咚,那是什么呢?事实上,那个是NetBIOS Extened User Interface 的简写,也是 IBM 在 NetBIOS 发展出来之后的改良版本。
虽然这两者的技术不太相同,不过,我们只要知道一些简单的概念就可以了!所以,在这里我们不针对 NetBEUI 来介绍。
2.2 SAMBA 使用的 daemons知道了 SAMBA 的主要目的是让 Linux 主机加入 Windows 的网络系统当中来分享使用彼此的数据,而Windows 使用的是 NetBIOS 这个通讯协议,所以说,SAMBA 主要是使用 NetBIOS over TCP/IP 的技术。
好了,我们再来谈一谈,那么 SAMBA 在 Linux 操作系统上面工作时,需要启用什么服务呢 ( daemons )?让我们先以Windows 的『网上邻居』来做简单的说明:当我们想要登入某部 Windows 主机使用他所提供的文件数据时,必需要加入该 Windows 主机的群组( Workgroup ),并且我们的机器也必需要设定一个主机名称,注意,这个主机名称跟 Hostname 是不一样的,因为这个主机名称是架构在 NetBIOS 协议上的,我们可以简单的称呼他为 NetBIOS Name 好了。
在同一个群组当中,NetBIOS Name 必需要是独一无二的!好了,等到我们登入该主机之后,能不能使用该主机所提供的文件数据还要看 Windows 主机有没有提供我们使用的权限!所以,并不是登入该 Windows 主机之后,我们就可以无限制的取用该主机的文件资源了。
也就是说,如果对方主机允许你登入,但是却没有开放任何资源让您取用,登入主机也无法查看对方的硬盘里面的数据的!同样的 SAMBA 主机就使用两个 daemons 来管理这两个不同的服务:smbd :这个 daemon 的主要功能就是用来管理 SAMBA 主机分享什么目录、文件与打印机等等的内容。
nmbd :这个 daemon 则是用来管理群组、NetBIOS name 等等的解析。
所以, SAMBA 每次启动至少都需要有这两个 daemons !而当我们启动了 SAMBA 之后,主机系统就会启动137, 138, 139 三个 port ,且同时会有 UDP/TCP 的监听服务!2.3 联机模式的介绍 ( peer/peer, domain model )SAMBA 主机的应用相当的广泛,而且可以依照不同的网络联机与使用者账号、密码的控管方式不同,来加以不同的类别应用,例如最常见的 Workgroup 及 Domain 两种方式的联机模式!底下我们就是要来谈一谈这两种最常见的局域网络的联机模式 peer/peer 及domain model。
peer/peer ( Workgroup model ) :peer 有同等、同辈的意思存在,那么 peer/peer 由字面上的解释来看,当然就是同等地位的 PC 架构!这是什么意思呢?简单的来说,在局域网络里面的所有 PC 均可以在自己的计算机上面管理自己的账号与密码,同时每一部计算机也都具有独力可以执行各项软件的能力,只是利用网络将各个PC 连结在一起而已的一个架构,所以,每一部机器都是可以独立运作的!而在这样的架构下,如果有两部计算机,计算机名称假设为 pc1 与pc2 好了,那么当您要坐在 pc1 这部计算机前使用 pc1 的资源时,就必须要知道登入 pc1 的使用者名称与密码,才能够登入使用。
而如果您想由 pc1 经过网络联机到 pc2 来使用 pc2 的文件资源时,就必须要知道 pc2 的账号与密码才可以顺利的登入 pc2 !这样的架构在目前小型办公室里面是最常见的。
例如办公室里面有十个人,每个人桌上可能都安装有一套Windows 操作系统的个人计算机,而这十部计算机都可以独立进行办公室软件的执行啊、独立上网啊、独立玩游戏啊等等的,因为这十部计算机都可以独立运作,所以不会有一部计算机关掉,其它的计算机就无法工作的情况发生,这就是 peer/peer 的典型架构。
以下图的架构为例,在这样的架构下,假设A 写了一个报告书,而B 想要以网络直接取用这个报告书时,他就必须要知道 A 使用的计算机的账号与密码,并且 A 必须要在 PC A 上面启用 Windows 的『资源共享(或者是共享)』之后,才能够让 B 联机进入 ( 此时 PC A 为 Server ) !而且, A 可以随时依照自己的喜好来更改自己的账号与密码,而不受 B 的影响,不过, B 就得要取得 A 同意取得新的账号与密码后,才能够登入 PC A !反过来说,同样的, A 要取得 B 的数据时,同样需要取得 PC B 的账号与密码后,才能够顺利登入 ( 此时 PCA 为 Client )!因为 PC A, PC B, PC C 的角色与地位都同时可以为 Client 与 Server ,所以就是 peer/peer 的架构了!生活周边中,哪里看到的这种 peer/peer 的架构呢?!就是利用 Windows 的『网上邻居』所达成的『工作群组(workgroup)』的架构,那就是典型的 peer/peer 架构!所以, peer/peer 也可以直接说成 workgroup 的联机架构。
使用 peer/peer 的架构的好处,是每部计算机均可以独立运作,而不受他人的影响!不过,缺点就是当整个网络内的所有人员都要进行数据分享时,光是知道所有计算机里面的账号与密码,就会很伤脑筋了!所以,Peer/Peer 的架构是比较适合 (1)小型的网络,或者是 (2)没有需要常常进行档案数据分享的网络环境,或者是 (3)每个使用者都独自拥有该计算机的拥有权(就是说,该计算机是使用者的,而不是公用的!)!而,如果该单位的所有 PC 均是公有的,而且您需要统一控管整个网络里面的账号与密码的话,那就得使用底下的 domain models 了!domain model :假设今天您服务的单位有 10 部计算机,但是您的单位有 20 个员工,这也就是说,这 20 个员工轮流抢着用这 10 部计算机。
如果每部计算机都如同 peer/peer 的架构时,那么每部计算机都需要输入这 20 个员工的账号与密码来提供他们登入,而且,今天假如有个员工想要变更自己的密码时,就需要到 10 台计算机上面进行密码变更的作业!否则他就必须要记得这 10 部计算机里面,那一部计算机是记忆那一个密码.....如果上述是这样的情况,使用 peer/peer 架构就不是一个好方法了!这个时候就需要利用 domain model 来达成您的需啦!所谓的 domain model 概念其实也很简单,既然使用计算机资源需要账号与密码,那么我将所有的账号与密码都放置在一部主控计算机 ( Primary Domain Controller, PDC ) 上面,在我的网络里面,任何人想要使用任何计算机时,都需要在屏幕前方输入账号与密码,然后通通利用 PDC 主机的辨识后,才给予适当的使用权限,也就是说,不同的身份还具有不一样的计算机资源使用权限就是了!例如底下的图示:PDC 主机控管整个网络里面的各个机器 (PC A ~ PC D) 的账号与密码的信息,假如今天有个使用者账号名称为 Ken ,且密码为 mypasswd 时,他不论使用哪一部计算机 (PC A ~ PC D) 只要在屏幕前方输入 ken 与他的密码,则该机器会先到 PDC 上面查验是否有 ken ,以及 ken 的密码,并且 PDC 主机会给予 ken 这个使用者相关的计算机资源使用权限。