文档章节

Samba服务器工作原理及配置 ( 资源 )

寰宇01
 寰宇01
发布于 2018/08/08 10:00
字数 2152
阅读 488
收藏 1

Samba简介

       Samba是著名的开源软件项目之一,它在Linux/unix系统中实现了微软的SMB/CIFS网络协议,从而使得跨平台的文件共享变得更加容易。在部署windows、Linux/unix混合平台的企业环境时,选用Samba可以很好的解决不同系统之间的文件互访问题。 

 

1.Samba使用NetBIOS通讯协议,就像NFS是架构在RPC Server上面一样,Samba是架构在NetBIOS(Network Basic Input/Output System)这个通讯协议上面所开发出来的。

2.NetBIOS机器间的沟通:

取得对方主机的NetBIOS name定位该主机所在,利用对方给予的权限存取可用资源。

3.Samba使用nmbd、smbd这两个服务来控制定位主机和权限分配:

nmbd:用来管理工作组、NetBIOS name等的解析。主要利用UDP协议开启137 138端口来负责名称解析的任务。

smbd:这个daemon主要用来管理Samba主机分享的目录,档案与打印机。主要利用TCP协议传输数据,开放端口为139.

注意   :  

  • Samba服务的默认安全级别为user,要求提供用户验证。对于匿名共享服务,一般将安全级别设为share

  • 使用pdbedit工具可以创建、删除Samba共享用户。

  • 通过smbusers文件可以为共享用户账号设置别名。

  • 使用smbclient工具可以查询并登录、访问共享资源,而使用mount命令可以将共享文件夹挂载到本地。

SAMBA 服务器四种共享方式      :      share、user、server、domain

amba 服务器的配置文件是  :  smb.conf

更改和添加SAMBA服务器登陆用户的密码命令       : 修改smb服务器口令使用smbpasswd 

Samba 服务器的进程由 smbd 和nmbd  两部分组成。

4.两种联机模式:

  peer/peer:局域网内各PC机之间独立运行,适用于小型网络。

  Domain model:局域网内各PC机统一通过PDC主机认证(LDAP),以获取适当的权限,适用于大中型网络。

5.Samba的主要配置文件(/etc/samba):

  smb.conf:最主要的配置文件,分为[global]和[Share Definitions]两个部分。

  Imhost:对应NetBIOS Name与该主机的IP,一般Samba在启动时就能捕捉到LAN中相关计算机NetBIOS Name对应的IP,因此,这个配置文件一般不用设置。

  Smbpasswd:这个文件默认不在,它是Samba预设的使用者密码对应表。

6、安装需要的升级包

samba                                 服务端软件

samba-client                       客户端软件

samba-common                 提供服务端和客户端的公共组件

System-config-samba        samba 的图形界面软件包

Samba-swat                       samba的web界面管理软件包

7、Samba服务相关进程及端口号

/usr/sbin/smbd    为客户机提供服务器中的共享资源的访问

/usr/sbin/nmbd    提供基于 NetBIOS 协议的主机名称解析

Samba的脚本      /etc/init.d/smb

Samba的端口:

Nmbd:(137138)NetBIOS 协议

smbd:139(SMB 协议)  445(CIFS 协议)

8、

主配置文件smb.conf

          Samba服务的配置文件位于/etc/samba目录中,其中smb.conf是主配置文件。在smb.conf文件中,以“#”号开始的行表示注释性的文字,以“;”开始的行表示是配置样例。

 

           在配置共享文件夹时,用户可以参考文件中提供的样例行进行设置。删除注释行,样例行及空行以外的内容,才是samba服务器的有效配置。

 

          [global]全局配置:这部分配置项的内容对整个samba服务器都有效。

 

         [homes]宿主目录共享设置:设置Linux用户的默认共享,对应用户的宿主目录。当用户访问服务器中与自己用户名同名的共享目录时,通过验证后将会自动映射到该用户的宿主文件夹中。

        [printers]打印机共享设置:如果需要共享打印机设备,可以在这部分进行设置。若需要在smb.conf文件中设置新的共享文件夹,只需要增加一段如“[myshare]”开始的共享设置即可,其中“myshare”为用户自定义的共享名。新的共享文件夹设置可以参考“[homes]”和“[printers]”部分的内容。

 

9.安装Samba:

查看Samba服务是否安装:

rpm -qa | grep samba

yum安装:yum install -y samba

 

查看包的安装情况:

samba-winbind-clients-3.6.23-46el6_9.i686 #客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集

samba-winbind-3.6.23-46el6_9.i686  # windows域成员的一个中介。它可以把windows域帐号里的用户和组信息,映射成liunx的用户组。

samba-common-3.6.23-46el6_9.i686 #主要提供samba服务器的设置文件与设置文件语法检验程序testparm

samba-3.6.23-46el6_9.i686 #服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的启动/关闭文件。

 

启动Samba服务器&设置开机启动:

配置Samba服务:

Samba主配置文件为/etc/samba/smb.conf

由Global Setting 和 Share Definitions构成。

全局参数:

[global]

security = user #这里指定samba的安全等级。关于安全等级有四种:

share:用户不需要账户及密码即可登录samba服务器

user:由提供服务的samba服务器负责检查账户及密码(默认)

server:检查账户及密码的工作由另一台windows或samba服务器负责

domain:指定windows域控制服务器来验证用户的账户及密码。

smbpasswd:该方式是使用smb工具smbpasswd给系统用户(真实用户或者虚拟用户)设置一个Samba 密码,客户端就用此密码访问Samba资源。smbpasswd在/etc/samba中,有时需要手工创建该文件。

tdbsam:使用数据库文件创建用户数据库。数据库文件叫passdb.tdb,在/etc/samba中。passdb.tdb用户数据库可使用smbpasswd –a创建Samba用户,要创建的Samba用户必须先是系统用户。也可使用pdbedit创建Samba账户。pdbedit参数很多,列出几个主要的:

pdbedit -a username:新建Samba账户。

pdbedit -x username:删除Samba账户。

pdbedit -L:列出Samba用户列表,读取passdb.tdb数据库文件。

pdbedit -Lv:列出Samba用户列表详细信息。

pdbedit -c “[D]” -u username:暂停该Samba用户账号。

pdbedit -c “[]” -u username:恢复该Samba用户账号。

netbios name = MYSERVER  # 设置出现在“网上邻居”中的主机名

hosts allow = 192.168.2.  192.168.3. # 用来设置允许的主机,如果在前面加”;”则表示允许所有主机

log file = /var/log/samba/%m.log #定义samba的日志,这里的%m是上面的netbios name

max log size = 50 # 指定日志的最大容量,单位是K。

 

例:共享一个目录,任何人都可以访问,即不用输入密码即可访问,要求只读。

[global]部分

把”MY GROUP”改成”WORKGROUP”

把” security = user” 修改为 “security = share”

然后在文件的最末尾处加入以下内容:

例:共享一个目录,使用用户名和密码登录后才可以访问,要求可以读写。

使用linux访问samba服务器:

安装了samba-client软件包,安装完后就可以使用smbclient命令。

smbclient //IP/共享名  -U 用户名

通过mount挂载:

 

链接 :

Samba详解 :http://blog.51cto.com/hmtk520/2065710

Linux系统怎么搭建Samba共享服务器? : https://www.jb51.net/LINUXjishu/315102.html

Linux环境下Samba文件共享服务 :   https://mp.weixin.qq.com/s/BxyVt0kV-Q9W2QtLWc-inA

centos中samba服务不能访问如何解决?  :  https://www.jb51.net/os/RedHat/538934.html

CentOS 6.3下Samba服务器的安装与配置方法(图文详解)  :  https://www.jb51.net/os/RedHat/398108.html

CentOS下邮件服务sendmail的安装及简单配置  : https://www.jb51.net/os/RedHat/391912.html

用CentOS搭建文件服务器(Samba)  :  https://www.jb51.net/os/RedHat/32191.html

 

搭建samba服务,实现局域网文件共享      :      http://blog.51cto.com/13728740/2137366

在ubuntu中部署samba服务器的方法 : https://www.jb51.net/article/95370.htm

SAMBA客户端提示 NT_STATUS_HOST_UNREACHABLE 错误提示的解决办法 : https://blog.51cto.com/lisiyun/p3

 

 

 

© 著作权归作者所有

寰宇01
粉丝 20
博文 427
码字总数 993164
作品 0
南京
程序员
私信 提问
linux系统samba服务器安装及安全设置

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。 SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网...

zhangdiandong
2014/07/02
0
0
Centos部署Samba企业文件共享服务

Centos部署Samba企业文件共享服务 声明:本文参考了网上部分资料加作者实验总结 目录: 1、Samba服务概述: 1.1、Samba的原理 1.2、NETBIOS协议 2、Samba 应用环境 3、samba服务 3.1、samba...

好笔记运维
2018/06/26
0
0
samba工作机制

Samba协议基础 在NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统,这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(ServerMessage Block)协议。...

裸男子
2017/07/06
0
0
Centos 7 上安装Samba的详细步骤

为了实现Windows主机与Linux服务器之间的资源共享,Linux操作系统提供了Samba服务,Samba服务为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,为广泛的...

jia_xiaolei
2017/07/21
0
0
在Linux中搭建 samba服务器

下面说一下如何在RHEL5.4中搭建samba服务器,在搭建samba服务器之前要了解: (1)samba服务器是干什么用的; (2)它的主要作用是什么; (3)它在什么情况下会使用到。 SMB协议 SMB协议是在...

杨泓晨
2015/08/07
363
0

没有更多内容

加载失败,请刷新页面

加载更多

Podman 使用指南

> 原文链接:Podman 使用指南 Podman 原来是 CRI-O 项目的一部分,后来被分离成一个单独的项目叫 libpod。Podman 的使用体验和 Docker 类似,不同的是 Podman 没有 daemon。以前使用 Docker...

米开朗基杨
57分钟前
5
0
拯救 项目经理个人时间的5个技巧

优秀的项目经理都有一个共同点,那就是良好的时间管理能力。专业的项目经理会确保他们的时间投入富有成效,尽可能避免时间浪费。 时间管理叫做GTD,即Getting Things Done——“把事情做完”...

Airship
今天
7
0
LNMP环境介绍,Mariadb安装,服务管理,mariadb安装3

LNMP环境介绍 Nginx 处理的请求有两种,分为 静态与动态 图片,js,css,视频,音频,flash 等都是静态请求,这些数据都不是保存在数据库里面的 动态请求一般来说,需要的数据是在数据库里面...

doomcat
今天
2
0
前端技术之:Prisma Demo服务部署过程记录

安装前提条件: 1、已经安装了docker运行环境 2、以下命令执行记录发生在MackBook环境 3、已经安装了PostgreSQL(我使用的是11版本) 4、Node开发运行环境可以正常工作 首先需要通过Node包管...

popgis
今天
7
0
数组和链表

数组 链表 技巧一:掌握链表,想轻松写出正确的链表代码,需要理解指针获引用的含义: 对指针的理解,记住下面的这句话就可以了: 将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指...

code-ortaerc
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部