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

SAMBA的实现原理以及使用方法

一.SAMBA的起源对于windows的网上邻居来讲,共享文件的方式用的是SMB和CIFS协议以及NETBIOS协议LinuxUnix之间用的是NFS协议。但是Linux和Windows之间是不能共享的,所以澳大利亚国立大学的AndrewTridgell,决定开发一款软件,这款软件就是为了实现不同

一.SAMBA的起源

对于windows的网上邻居来讲,共享文件的方式用的是SMB和CIFS协议以及NETBIOS协议Linux/Unix之间用的是NFS协议。

但是Linux和Windows之间是不能共享的,所以澳大利亚国立大学的Andrew Tridgell,决定开发一款软件,这款软件就是为了实现不同的系统之间互相共享文件的,于是一款叫做SMB的软件横空出世了,但是这个名字不能被注册成商标,因为已经有SMB协议了,于是作者给名字上加了两个A,就成了我们即将使用的功能强的文件共享服务器:

SAMBA

二.SAMBA的工作方式

SAMBA主要提供的是SMB/CIFS或者NETBIOS协议的。

所以只要使用了SAMBA,就能实现让Linux出现在Windows的网上邻居里,或者,让Windows的文件共享在Linux上--

一旦在linux上安装之后,有两个主要进程:

1.nmbd :提供NETBIOS 名称解析的

2.smdb : 提供文件共享的。

而由于NETBIOS协议对于windows来讲监听TCP的139端口和UDP的137,138端口 ,所以nmbd在linux上模拟出了udp的137和138端口,以及tcp的139端口,smdb上模拟出 tcp的445端口。而SAMBA将在Linux上同时监听这4个端口。 

三.认识SAMBA

SAMBA的软件都是”samba”开头的

        

         samba-client

         samba-common  这两个都是作为客户端使用的

         samba作为服务端使用

         samba-swat 基于图形的一个控制界面

                           

         安装完后,它的配置文件在 /etc/samba/smb.conf              

         而/etc/init.d/smb 脚本,实现了对于SAMBA的控制

         比如:/etc/init.d/smb start

小提醒:samba是一款接受selinux控制的软件,所以配置的时候一定要关闭selinux

四.安装并简单配置SAMBA

         1.安装:

         yum install samba -y

        

         安装完成之后在/etc/samba目录下

         主配置文件叫 smb.conf

                   小提醒:

                   这类文件里所有 以#开头的都是注释没意义

                   所有以“;”开头的都是可以去掉以启动的选项

                           

         2.配置:

                   配置文件主要有4个段组成:

                   1.全局配置段 [global]

                   2.家目录段[homes]

                   3.独立的共享段[printer]

                   4.自定义段[c_s]     

                  

         我们一段一段的来分析

         第一段:[global]:

                   workgroup = MYGROUP           定义工作组的

                   server string = Samba Server Version %v         这是用于当你通过网上邻居打开的时候,注释信息是什么

                   netbios name = XXX     显示在终端中的名字

                   security = user          这一项很关键,是用来定义SAMBA服务的安全级别的,安全级别主要有4个

                                     1.share:允许任何匿名用户直接访问

                                     2.user:默认:每一个用户访问的时候必须要提供账号和密码

                                     3.domain/server:通常意味着把用户的账号和密码在认证的时候是通过第三方集中的认证的。而不是直接通过系统来认证,比如有一个专门的认证服务器

                                     4.ads:通过主域控制器来认证的

                   passdb backend = tdbsam     所有的SAMBA用户的认证文件使用什么方式认证

                   load printers = yes    是否去尝试加载打印机

                   cups optiOns=raw    通用打印系统,指定打印方式

                   hosts allow = XX.XX.XX.XX   定义访问控制列表

                                                       

         第二段:[homes]:

                   comment = Home Directories          说明信息

                  browseable = no     浏览,如果这个用户不是这个目录的属主的话,是否可以看到这个目录的,no表示只有属主才能看到

                   writable =yes     是否可以往里新建文件的。

 

         第三段:[printers]:

                   comment = All Printers

                   path = /var/spool/samba         打印池

                   browseable = no 

                   guest ok = no  打印机是否公开

                   writable = no  

                   printable = yes

                  

         第四段:我们定义一个自己的:[tools] 

                           中括号括起来的叫共享名

                   comment = My Tools

                   path = /share    用于定义在系统目录上真正的那个目录在什么地方

                   browseable = yes  是否可浏览

                   guest ok = yes  是否允许来宾账号

                   writable = yes 是否可写

         #       write list = XXX   定义一个列表决定用户/组是否可以写,定义组的时候,需要用 @组名


推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • SQL Server 2008 到底需要使用哪些端口?
    SQLServer2008到底需要使用哪些端口?-下面就来介绍下SQLServer2008中使用的端口有哪些:  首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Linux防火墙配置—允许转发
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • UDP千兆以太网FPGA_verilog实现(四、代码前期准备UDP和IP协议构建)
    UDP:userDatagramprotocol用户数据报协议无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETFRFC76 ... [详细]
  • 三、寻找恶意IP并用iptables禁止掉找出恶意连接你的服务器80端口的IP,直接用iptables来drop掉它;这里建议写脚本来运行, ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了VoLTE端到端业务详解|VoLTE用户注册流程相关的知识,希望对你有一定的参考价值。书籍来源:艾怀丽 ... [详细]
author-avatar
sbsbsjsv
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有