当前位置:Linux教程 - Linux资讯 - Samba使用和管理详细指南完全分析

Samba使用和管理详细指南完全分析

  Windows 最令人感到方便的特色莫过于『网上邻居』的档案分享功能,有了这项功能后,使得局域网络里资料的传递与分享得以落实。以往在 Linux 的世界里其实也有 NFS 可以在 Unix Like 的操作系统下做档案分享,但是与 Windows 作业环境的整合还是缺乏沟通的桥梁。    Samba Server 建立了 Linux 与 Windows 环境的沟通管道,也可以做为Print Server提供Windows 远程联机打印;若是使用 Samba Server 搭配 Apache Web Server,可在 Windows 环境下藉由『网上邻居』登入 Linux 主机里使用者的个人帐号放置网页目录(当然是在局域网络内才行),有了这项功能,编辑个人网页就如同在本机操作一般方便。除此之外,Samba Server 也可以完全取代 NT/2000 PDC(Primary Domain Controler)成为 NT/2000 网域主控者管理 NT/2000 网域机群,当然,Samba 也可以将目录、档案分享给其它 Unix Like、Mac、OS/2 的机器使用,应用层面可以说是相当广阔,更令人惊讶的是 Samba Server 也可做为WINS Server,若配合 DHCP Server 更可以管理大型 NT/2000 网域,想想!这个集合众多优点的服务器,是不是会对不同机种的操作系统工作环境在整合上有着极大的助益呢?    Samba 可以定位为一套功能极为强大的档案服务器软件,所谓档案服务器就是将档案伺服主机上的目录分享出来,让您可以透过网络对分享出来的目录里的档案,做执行、读取、写入等动作。基本上 NT/2000 的网域是使用 NetBEUI 做计算机命名服务,使用广播封包来侦测网络上有哪些计算机、哪些目录提供资源共享,而 Samba 与UNIX主机间的沟通(如目录、档案分享)是透过 TCP/IP 协议达成任务,Samba 若要与NT网域做沟通,透过TCP/IP当然是行不通的,只好使用 NetBIOS 对NT网域做广播,让 Windows 机器能够认识它,进而成为NT网域成员;因此 Samba 是使用 smbd Daemon 透过 TCP/IP 联系 Unix Like 主机,而使用 nmbd Daemon 透过 NetBIOS 对 NT/2000 网域做联系,也就是说 Samba 使用两种机制达成资源共享的目的。    注:smbd Daemon主要用来处理档案分享和打印分享服务;nmbd Daemon则用来处理WINS 名称解析服务及NT Browser Service(即网上邻居)。    要使用 Samba Server 相当容易,在安装好 Redhat 后,只要设定好工作群组,激活Samba Server 后就可以正常运作,您可以立即在 Windows 下的『网上邻居』里看到执行Samba服务的Linux 主机名称。    samba-2.0.7-21ssl    samba-common-2.0.7-21ssl    samba-client-2.0.7-21ssl(samba 所需要的套件,请随时更新!!)    想让开机自动激活 samba 吗?    #chkconfig --level 345 smb on    或是手动激活    #/etc/rc.d/init.d/smb start    以上是 samba 的简单设定,接着介绍 samba 的设定及其它应用    当安装完 samba 套件后,也立即拥有以下的 samba 工具:    smbclient:利用这个工具可连接其它 Unix like 的 Samba Server,或是连接 Windows 机器,以取得档案分享服务。    testparm :这个工具可让您测试 smb.conf 组态档定义是否正确。    testprns :这个工具可让您测试定义在 printcap 档里的列表机。    smbstatus:这个工具可用来显示目前 client 端连接到 Samba Server 的联机状况。    nmblookup:这个工具可使用 NT/2000 网域内的主机名称查询出对应的 IP 地址。    smbpasswd:这个工具可用来建立、变更登入到 Samba server 的加密密码。    swat:这个工具让您可使用 web接口(如:IE、Netscape)对Samba Server做组态设定。    先确定在 /etc/services 档案里面这些句子没有被批注掉﹕    netbios-dgm 138/tcp # NETBIOS Datagram Service    netbios-dgm 138/udp    netbios-ssn 139/tcp # NETBIOS session service    netbios-ssn 139/udp    然后是建立 /etc/lmhosts 档案(如果它不存在的话)﹐建立起各主机的对应。我们只需将 MS Winndows 主机对应建立起来则可﹐但一定要包括作为 SAMBA 服务器的 Linux 主机本身﹕    vi /etc/lmhosts    192.168.0.17 redhat52    192.168.0.15 PII266    192.168.0.12 nt4ser2    192.168.0.22 redhat62    192.168.0.16 w2000ad    然后是修改 /etc/samba/smb.conf 这个档案    ########################################################    设定Samba的组态档最基本可分为三个阶段:Server基本设定、使用者home目录的设定、目录分享设定。至于「共享列表机设定」则是当您有需要时再做设定。若是在Samba 的组态设定档/etc/smb.conf档里做设定,则是针对[global]、[homes]、[分享目录]三大项目做设定。    vi /etc/samba/smb.conf    若是在etc/smb.conf档里做设定,则是在[global]项目里设定如下:    [global]    workgroup = MYGROUP ;不分大小写    unix passWord sync = Yes    设定 Linux 与 samba 使用相同的密码    domain master = yes    设定 samba 成为 PDC (网域主控者),注意:若是将Samba设定为独立服务器,则无须设定此项。    client code page = 950    如果想使用者能看到中文文件名称﹐可以将这行加进 [global] 设定中    [homes]    browseable = yes    writable = yes    public = yes    write list = @staff    samba 内定帐号拥有者可对帐号目录做读写动作,若想让某些使用者也有权利对此目录做写入动作时,请在「Users」卷标的「write list」字段里输入其它使用者名称,如:abc、test、working。    所谓的使用者home目录是指,以使用者帐号登入 Samba Server 后个人所拥有的帐号目录,如:以帐号 root 登入后,内定的个人目录是 /root。一般而言,对「使用者home目录的设定」着重于是否将此个人目录分享出来及设定存取的权限,其余项目大抵上是无需设定。    注意:若您选择了「Public Access」、「Writable」两个选项,并不代表所有的使用者皆有权利对您所分享的home目录下的档案具有写入权,还得视档案原来在Linux下的权限设定,例如,档案权限为rwxr-xr-x(chmod 755),表示只有拥有者具可写入权,此点务必留意。    [works]    comment = share works    browseable = yes    path = /works    public = yes    writable = yes    目录分享设定    使用 Samba 最大的用途当然是将特定的目录分享出去,分享目录的原则不外乎是读写权限及分享对象,把握此原则就可很迅速的设定好分享目录    用 testparm 来测试一下smb.conf的语法是否正确,或是使用 smbclient -L (computer_name)    重新激活 SAMBA    /etc/rc.d/init.d/smb restart    ########################################################3    将 Samba 做为WINS Server    Samba 最大的功用除了做 file Server 外,还可以做 WINS Server。Wins Server最大的好处是可在 NT/2000 网域内做名称解析,传统上在 Internet 上做 FQDN(Full Quality Domain Name)与 IP address 之间的转换是藉由 DNS 做解析,但在局域网络里尤其是 NT/2000 网域,当您使用 NT/2000 的 WINS Server 与 NT/2000 的 DNS 做配搭时,假设有一台主机名称叫做 abc,所属领域是 test.com.tw,IP地址是192.168.0.229,目前此部主机尚未在 DNS 上注册,但是在DNS 上激活正反查都可藉由 WINS 解析,当您使用 nslookup 查询 abc 主机时,您会发现可解析出 192.168.0.229,并且观察 DNS 上正查区域内,DNS自动将 abc 以A资源纪录指定 IP 192.168.0.229,而反查区域内,DNS 自动将229.0.168.192.in-addr.arpa 指到 abc.test.com.tw,这就是 WINS 的好处。    以往在 NT/2000 网域内使用 DNS+WINS Server 可免去在 DNS 上登录主机记录,若再搭配 DHCP Server 那么连 Client 端主机的 IP 也免输入,一切由 DHCP Server分配动态 IP ,再由 DNS+WINS Server 自动登录主机 FQDN 与 IP 解析关系,这个简单、易用组织网域的方法,如今也可以由 DNS+Linux下的Samba+Linux下的DHCP来取代,因为 Samba 可担任 WINS Server 或指定 WINS Server做网域名称解析。假设目前欲做 WINS + DHCP 的 Linux主机IP为192.168.0.229,其设定方式如下:    首先确定已激活 DNS Server,并且在 DNS 里启用正、反查皆可透过 WINS 做解析。    以下设定Samba为Wins Server    wins server = 192.168.0.229    设定完成后,可使用 nmblookup 查询名称解析,假设目前有一主机其名称为 abc,使用动态分配 IP 联机,所配得的IP地址是192.168.0.100,那么当您使用nmblookup ASP做名称查询时,则出现下列画面:    [root@abc testing]# nmblookup abc    192.168.1.100 abc<00>    当然,使用 DNS + DHCP + WINS 除了可分配动态 IP 外,『网上邻居』、区域内主机 FQDN 与 IP 的对应关系皆可正常运作。    Samba 除了可做为 File Server、Wins Server 外,还可做为 Printer Server,设定方法其为简单:    首先使用 Redhat 的print tool,
[1] [2] 下一页 

(出处:http://www.sheup.com)


上一页 [1] [2]