热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

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

文章标题:Samba使用和管理详细指南完全分析。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  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,
推荐阅读
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
author-avatar
__乀余海燕v
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有