目录

Samba

Samba的配置


Samba

Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一来,使得Samba具有了更强大的功能。

samba服务的进化

  • smb协议:server message block 服务消息块
  • cifs协议 :common internet file system 通用互联网文件系统

Samba最大的功能就是可以用于 Linux 与 windows 系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面。

SMB是基于客户机/服务器型的协议,因而一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端。例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源文件,同时,Samba服务器也可以访问网络中其它windows系统或者Linux系统共享出来的文件。Samba在windows下使用的是NetBIOS协议,如果你要使用Linux下共享出来的文件,请确认你的windows系统下是否安装了NetBIOS协议。

组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听TCP 139端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,NMB监听UDP的137和138 端口

例如:某台Samba服务器的IP地址为192.1.68.10.10,对应的工作组名称为 xie,那么在Windows的IE浏览器输入下面两条指令都可以访问共享文件。其实这就是Windows下查看Linux Samba服务器共享文件的方法:

  \\192.168.10.10\共享名

   \\xie\共享名

smaba服务主要有两个程序

  • smb:提供对服务器中文件的共享访问,监听TCP139端口
  • nmb:提供基于netbios主机名称的解析,监听UDP 137、138端口

程序目录:  /usr/lib/systemd/system/smb.service (Rhel7)   或    /etc/init.d/smb (Rhl6)

配置文件: /etc/samba/smb.conf

用户访问samba server一共有四种验证方式 :

  1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
  2. user:共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
  3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
  4. domain:域安全级别,使用主域控制器(PDC)来完成认证

Samba的配置

服务器端

1:关闭 SElinux 和配置防火墙

setenforce  0   

firewall-cmd  --add-port=139/tcp ;  firewall-cmd  --add-port=137-138/udp 
2:安装samba程序:   yum  -y  install  samba
3:修改配置文件 :   /etc/samba/smb.conf

-----------------------------global settings-----------------------------------------
[global] //该设置都是与Samba服务整体运行环境有关的选项,它的设置项目是针对所有共享资源的
workgroup = MYGROUP //设定 Samba Server 所要加入的工作组或者域。
server string = Samba Server Version %v //设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。
log file = /var/log/samba/log.%m //设置Samba Server日志文件的存储位置以及日志文件名称。在文件名后加个宏%m(主机名),表示对每台访问Samba Server的机器都单独记录一个日志文件。如果pc1、pc2访问过Samba Server,就会在/var/log/samba目录下留下log.pc1和log.pc2两个日志文件
max log size = 50 //最大日志大小为50kb
security = user //用户访问samba的验证方式,一共有四种,当为 share 时,则是允许匿名访问
passdb backend = tdbsam //passdb backend就是用户后台的意思。目前有三种后台:smbpasswd、tdbsam和ldapsam;sam是security account manager(安全账户管理)的简写
load printers = yes //设置是否在启动Samba时就共享打印机。
cups options = raw ----------------------------Share Definitions----------------------------------------
[homes] //默认的共享,默认共享samba用户创建时创建的home目录,可以删除
comment = Home Directories //comment是对该共享的描述,可以是任意字符串。
browseable = no //browseable用来指定该共享是否可以浏览
writable = yes //writable用来指定该共享路径是否可写
valid users = %S //允许访问该共享的用户
invalid users //禁止访问该共享的用户
valid users = MYDOMAIN\%S [printers] //默认的共享,共享打印,可以删除
comment = All Printers
path = /var/spool/samba
browseable = no
printable = yes
[samba] //自己创建的共享,共享名
comment=share
path=/etc //共享目录是 /etc
writeable=yes //是否可写入
browseable=yes //网上邻居是否可见
guest ok=yes //是否允许所有人访问
valid users=test //允许访问该共享的用户是test用户
write list=test //只有test用户可以写入

查看我们的配置: grep   -v   "#"   /etc/samba/smb.conf  |  grep -v ";" |  egrep "=|]"        使用 testparm 命令可以测试smb.conf配置是否正确
4:创建samba用户:

useradd  -M  -s  /sbin/nologin        test          

smbpasswd   -a  test      给smaba用户test设置密码
5:然后启动服务:  systemctl  start  smb

客户端

windows端访问:    \\192.168.10.10\共享名        如:\\192.168.10.10\samba

Linux端访问:

  • smbclient  -U  用户名   //ip地址/共享名      如: smbclient  -U   test   //192.168.10.10/samba
  • smbclient   -L  192.168.10.10      然后提示输入密码 (以当前用户身份登录)
  • mount  -o  username=xx    //ip地址/共享名      挂载点     将共享文件挂载到本地

相关文章:   Linux文件共享服务之NFS

Linux文件共享服务之Vsftp

Linux文件共享服务之Samba的更多相关文章

  1. Linux文件共享服务之Vsftp

    目录 FTP Vsftp服务的搭建 ftp.sftp.vsftp.vsftpd的区别 FTP FTP的工作原理: FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道.控制通道是和FTP服务器进 ...

  2. Linux文件共享服务之NFS

    NFS(Network File System) 网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可 ...

  3. CentOS6.5下搭建文件共享服务(Samba)

    Samba服务: 本内容为samba服务学习者提供参考 案例描述: 某公司的管理员需要搭建SAMBA服务器,IP地址及允许的访问网段自定义.SAMBA服务器的安全级别为user级,所在工作组为WORK ...

  4. linux文件共享服务

    linux文件共享配置 Windows访问linux 以下操作都在关闭防火墙和关闭selinux的环境下. 关闭防火墙的命令:service iptables stop关闭SELINUX命令:sete ...

  5. 文件共享服务之Samba

    一.Samba服务概述 在Windows网络环境中.机之间进行文件打印和共享是通过微软自己的SMB/CIFS协议来实现的.SMB(服务消息块)和CIFS(通用互联网文件系统)这两个都是微软的私有协议 ...

  6. Linux 学习笔记_12_Windows与Linux文件共享服务_1.1_--Samba(上)

    Samba简介:在UNIX系统中,Samba是通过服务器消息块协议(SMB)在网络上的计算机之间,共享文件和打印服务的软件包. SMB简介:Server Message Block,SMB协议是一种服 ...

  7. Linux文件共享服务 FTP,NFS 和 Samba

    Linux 系统中,存储设主要有下面几种: DAS DAS 指 Direct Attached Storage,即直连附加存储,这种设备直接连接到计算机主板总线上,计算机将其识别为一个块设备,例如常见 ...

  8. Linux 学习笔记_12_Windows与Linux文件共享服务_1.1_--Samba(下)Samba经典应用案例

    五.[Samba应用案例二] 设置Samba共享目录/software,允许用户jack和mary可以通过Windows客户端访问,并具有读写权限. 1.创建目录/software,添加用户jack, ...

  9. Linux基础学习-Samba文件共享服务

    使用Samba文件共享服务 Samba起源: 早期网络想要在不同主机之间共享文件大多要用FTP协议来传输,但FTP协议仅能做到传输文件却不能直接修改对方主机的资料数据,这样确实不太方便,于是便出现了N ...

随机推荐

  1. python学习之类的装饰器进阶版

    装饰器可以修饰函数,同样,也可以修饰类 装饰器 def deco(func):    print('======>被修饰的')return func 装饰器装饰函数的方式,语法糖 @decode ...

  2. 怎么用Markdown在github上写书,并用pages展示

    怎么用git写书 安装环境 第一步 安装node npm 先检测自己电脑是否安装了node npm # 查看 node 版本 node -v # 查看 npm 版本 npm -v 复制代码 如果成功打 ...

  3. 计算机图形学中使用Turbo C++画图步骤

    一.下载安装Turbo C++ 我安装的是Turbo C++ 3.2.2.0下载链接 二.画图 1.打开Turbo C++,点击右下角start turbo C++ 2.点击file ->new ...

  4. 1 [main] DEBUG Sigar - no sigar-amd64-winnt.dll in java.library.path org.hyperic.sigar.SigarException: no sigar-amd64-winnt.dll in java.library.path

    github上一个java项目,在myeclipse中运行正常,生成jar后,运行报错: 1 [main] DEBUG Sigar - no sigar-amd64-winnt.dll in java ...

  5. 1、Spring教程之Spring概述

    1.Spring概述 简介 Spring : 春天 --->给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架. 2004年3月24 ...

  6. DNS 缓存中毒--Kaminsky 攻击复现

    0x00 搭建实验环境 使用3台Ubuntu 16.04虚拟机,可到下面的参考链接下载 攻击的服务是BIND9,由于条件限制,这里使用本地的一台虚拟机当作远程DNS解析器,关闭了DNSSEC服务,其中 ...

  7. MarkDown-简单学习

    标题 注意:首部添加1-6个"#"号来设置标题大小: 字体 1:粗体 (注意:首尾同时添加2个"*"号来设置) 2:斜体 (注意:首尾同时添加1个"* ...

  8. 第11 章 : 可观测性:你的应用健康吗?(liveness和readiness)

    课时 11:可观测性:你的应用健康吗?(莫源) 本次课程的分享主要围绕以下五个部分: 介绍一些整体需求的来源: 介绍在 K8s 中 Liveness 和 Readiness 的使用方式: 介绍在 K8 ...

  9. [模拟]P1047 校门外的树

    校门外的树 题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2,- ...

  10. css 怎么在文字两边加上横线

    <div class="title"> <h2 class="title-text"><span>工作经历</span ...