文档章节

Samba共享实践

linux__sir
 linux__sir
发布于 2017/03/15 11:29
字数 1201
阅读 45
收藏 1

背景

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

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

环境

win10 + Vmware Player(CentOS 7.3)

安装

yum install samba -y

注:上述命令会根据依赖关系,将相关组件都安装上去的。

配置

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

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

1.全局配置段 [global]

2.家目录段[homes]

3.独立的共享段[printer]

4.自定义段[c_s]

我们一段一段的来分析

第一段:[global]:

workgroup = MYGROUP           定义工作组的

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

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

security = user         

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

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

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

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

注: security 这一项很关键,是用来定义SAMBA服务的安全级别的,安全级别主要有4个 1.share:允许任何匿名用户直接访问 2.user:默认:每一个用户访问的时候必须要提供账号和密码

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

第二段:[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  # 定义一个列表决定用户/组是否可以写,定义组的时候,需要用 @组名

## 配置实例 这里以下面配置为例,实际说明一下Samba的使用

文件/etc/samba/smb.conf

[global]

    workgroup = LinuxSir
    netbios name = LinuxSir05
    server string = Linux Samba Server TestServer
    security = user
[linuxsir]
    path = /opt/linuxsir
    writeable = yes
    browseable = yes
    guest ok = yes

准备用户和目录

这里面当前用户magc 来登录Samba共享,这里为samba设置登录密码:

smbpasswd -a magc

注:smbpasswd命令需要添加在系统中已经存在的用户才可以。

准备目录:

mkdir -p /opt/linuxsir
chown -R nobody:nobody /opt/linuxsir

注:nobody作为Linux的内置帐户,用来使用匿名登录的功能准备的。

启动服务

# 开启自动启动服务
systemctl enable smb
systemctl enable nmb

# 启动服务
systemctl start smb
systemctl start nmb

# 查看服务状态
systemctl status smb

防火墙设置

默认情况下开着防火墙Samba服务从外部是访问不了的,

# 临时关闭防火墙
systemctl stop firewalld

注:也可以在防火墙里开放Samba的服务端口

使用Windows访问samba共享目录

在windows里输入\IP 在弹出的用户密码框里输入magc及密码就可以进入共享目录了。

© 著作权归作者所有

共有 人打赏支持
linux__sir
粉丝 0
博文 4
码字总数 1701
作品 0
海淀
程序员
私信 提问
samba共享目录多台主机挂载,搭建WordPress

项目实践一: (1) 使用samba共享/data/application/web,在目录中提供wordpress; (2) 使用samba客户端挂载samba server共享的目录至/var/www/html; (3) 客户端(lamp),部署wordpress,并让其...

Runs_
2017/09/20
0
0
samba

项目实践一: (1) 使用samba共享/data/application/web,在目录中提供wordpress; (2) 使用samba客户端挂载samba server共享的目录至/var/www/html; (3) 客户端(lamp),部署wordpress,并让其...

Vincent一马
2017/11/15
0
0
Samba 服务共享

linux下配置samba服务器1、 什么是sambaSamba服务类似于windows上的共享功能,可以实现在Linux上共享文件,windows上访问,当然在Linux上也可以访问到。是一种在局域网上共享文件和打印机的一...

wjw555
2018/01/03
0
0
知识点041-Samba 的安装

samba:用于实现Linux和windows之间文件共享 功能:实现匿名用户和本地用户的文件共享 工作原理: smb进程:控制发布目录与权限,负责文件传输TCP 139 445 nmb进程:用于名称解析udp 137 138...

侠客行之石头
2018/07/10
0
0
Linux 配置samba服务器

以前我们在windows上共享文件的话,只需右击要共享的文件夹然后选择共享相关的选项 设置即可。然而如何实现windows和linux的文件共享呢?这就涉及到了samba服务了,这 个软件配置起来也不难,...

天行健J
2012/12/15
0
2

没有更多内容

加载失败,请刷新页面

加载更多

jenkins安装

https://my.oschina.net/u/593517/blog/1797968 jenkins 安装 https://my.oschina.net/u/593517/blog/3028175 GIT 安装 https://my.oschina.net/u/593517/blog/3028179 maven 安装 插件安装 ......

Gm_ning
9分钟前
1
0
小言服务端解决方案-监控

框架保证方向,整体包容细节 为保证服务端运行平稳正常,owner应使得系统应保有相应的监控:系统监控,业务监控。而服务运行的平稳高效是否有保障跟监控粒度又成直接的正比关系。本文仅针对开...

重城重楼
21分钟前
0
0
搜索引擎(Elasticsearch搜索详解)

学完本课题,你应达成如下目标: 掌握ES搜索API的规则、用法。 掌握各种查询用法 搜索API 搜索API 端点地址 GET /twitter/_search?q=user:kimchy GET /twitter/tweet,user/_search?q=user:...

这很耳东先生
45分钟前
6
0
浅谈如何减少GC的次数

GC会stop the world。会暂停程序的执行,带来延迟的代价。所以在开发中,我们不希望GC的次数过多。 本文将讨论如何在开发中改善各种细节,从而减少GC的次数。 (1)对象不用时最好显式置为 Nu...

浮躁的码农
46分钟前
1
0
jpa 自定义返回对象

任何ORM框架都少不了开放自定义sql的问题。jpa自然也不例外,很多场景需要写复杂sql的。 首先定义一个方法签名,然后打上@Query注解。像下面这样,需要注意nativeQuery,这个表示query中的字...

朝如青丝暮成雪
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部