工作中,很多时候,我导出文件,或者上传文件的时候经常失败,报samba fail,但我并不知道samba是干什么用的,也老是听同事说什么samba没有挂载,但我基本上不知道什么是samba,更不要说什么是挂载了,于是乎,我就各种找资料,终于知道什么是samba了。在我经历的三个项目中,都是用samba来实现多台服务器之间的文件共享,而且挺好用的,所以今天写下这篇博客,正所谓好记性不如烂笔头。

  一、什么是samba

  samba 是基于SMB协议(ServerMessage Block,信息服务块)的开源软件,samba也可以是SMB协议的商标。SMB是一种Linux、UNIX系统上可用于共享文件和打印机等资源的协议,这种协议是基于Client\Server型的协议,Client端可以通过SMB访问到Server(服务器)上的共享资源。当Windows是 Client,CentOS是服务器时,通过Samba就可以实现window访问Linux的资源,实现两个系统间的数据交互。samba服务程序已经成为在Linux系统和Windows系统之间共享文件的最佳选择,当然在Linux系统与Linux系统之间的文件共享也选择samba。

  二、安装samba

  我使用的是centos7,直接用yum安装就可以

yum install samba

  三、配置smb.conf

  smb.conf是服务端的配置文件,刚安装的就自带smb.conf文件,里面有很多注释的行,但实际工作是用不了,所以我们把自带的文件备份一个,复制一个简洁的主配置文件

mv /etc/samba/smb.conf /etc/samba/smb_bak.conf
cat /etc/samba/smb_bak.conf | grep -v "#" | grep -v ";" > /etc/samba/smb.conf

  编辑smb.conf文件,删除homes、printers、print$三项配置,实际工作用不了,然后再后面加上你的共享文件配置,最后内容如下:

[global]
workgroup = SAMBA #设定 Samba Server 所要加入的工作组或者域。
security = user #设置用户访问Samba Server的验证方式,一共有四种验证方式
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[database]
comment = share database #这个是共享文件的描述
path = /data/share #设置共享文件夹的路径
public = no #设置是否允许匿名访问
writable = yes

  四、创建samba登录用户

  这个用户可以直接用Linux用户,但密码也需要设置,所以我在这里新建一个samba专用用户

useradd smb_root
smbpasswd -a smb_root #然后输入两次密码就可

  五、创建共享路径

mkdir -p /data/share
cd /data
chmod -R share
chown -R smb_root:smb_root share

  六、Windows下访问共享文件

  在Windows资源管理器地址上输入 \\+ip(比如我的samba服务器IP地址是192.168.1.14,则输入\\192.168.1.14),登陆samba服务

  输入的刚才新增的samba用户及密码就行,比如我的就是smb_root和smb_root,这样就可以访问了

  可以把这个文件映射为一个盘符,选中database,点击右键,选中映射网络驱动器

  点击确定就可

  七、Linux下共享文件

  首先在客户端安装支持文件共享服务的软件包cifs-utils

yum install cifs-utils

  在Linux客户端,按照samba服务端的用户名和密码、共享域的顺序将相关的信息写入到一个认证文件中

vim auth.smb
写入如下内容:
username = smb_root
password = smb_root
domain = ZIJIN

  在客户端创建共享目录,把挂载信息写入/etc/fstab文件中

mkdir -p /data/share
vim /etc/fstab
在最后追加一下信息:
//192.168.1.14/data/share /data/share cifs credentials=/root/auth.smb 0 0

  挂载文件系统

mount -a

  测试,在服务端的/data/share目录下新建一个文件,然后再客户端查看,是否能看到,如果能就可以了

linux之samba使用的更多相关文章

  1. Linux下samba的安装与配置

    背景          在window7下面虚拟了一个CentOS6.3,为了学习命令行就没有装图形包,所以我的CentOS是黑屏的那种,呵呵,当然了,VMWare提供 的增强功能我就不能用了(或许能 ...

  2. 利用Linux的Samba服务模拟NT域

    利用Linux的Samba服务模拟NT域 Samba是一个与Windows NT具有相同协议的软件包.我们可以利用Samba服务来模拟 Windows NT域,使用户从Windows计算机上直接使用一 ...

  3. Linux服务-samba

    目录 1. samba简介 2. samba访问 Linux服务-samba 1. samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成. 在 ...

  4. linux系统内SAMBA共享问题

    最近将项目迁移到了公司服务器上,以后客户端调试和服务端开发都要去链接这台服务器,但是开发就需要调试,也需要log信息,同一局域网内,如何链接服务器并随时查看服务器上的log信息呢? 今天搞了一下,把步 ...

  5. linux之SAMBA共享目录服务端架设

    samba 共享目录 1.SAMBA服务概述 协议 监听端口137 架构   samba:Linux系统的一种文件共享程序服务 通常在主机文件共享的应用场景中,由于文件系统的差异化,Windows和L ...

  6. windows怎么访问linux的samba共享目录

    windows怎么访问linux的samba共享目录 听语音 原创 | 浏览:6976 | 更新:2018-07-31 13:20 | 标签:LINUX WINDOWS 1 2 3 4 5 6 7 分 ...

  7. Linux——搭建Samba(CIFS)服务器

    一.Samba的基本概念 Samba服务:是提供基于Linux和Windows的共享文件服务,服务端和客户端都可以是Linux或Windows操作系统.可以基于特定的用户访问,功能比NFS更强大. S ...

  8. linux 安装samba

    1. yum -y install samba 2. 配置 vi /etc/samba/smb.conf [global] 下面的 修改 workgroup = MYGROUPsecurity = s ...

  9. linux下samba的安装与使用

    samba挺好用的,配置项不多,正好适合我这种懒人使用. 下面是CentOS上面的安装与使用方法. 安装:yum -y install samba        安装一个名字叫samba的软件,安装过 ...

  10. linux之samba与linux权限

    当linux的文件夹或文件为用户或root时,则在window上共享出来的samba是不能进行修改的,当samba设置为 [share]path = /home#available = yes#bro ...

随机推荐

  1. ProxyPattern(代理模式)-----Java/.Net

    在代理模式(Proxy Pattern)中,一个类代表另一个类的功能.这种类型的设计模式属于结构型模式.

  2. 洛谷P1037 产生数 题解 搜索

    题目链接:https://www.luogu.com.cn/problem/P1037 题目描述 给出一个整数 \(n(n<10^{30})\) 和 \(k\) 个变换规则 \((k \le 1 ...

  3. OSS上传图片无法在线预览的解决方案

    OSS上传图片无法在线预览的解决方案 最近在做的项目涉及到商品详情,由于前端用的flutter框架并且该详情为富文本,dart语言关于富文本的组件不是非常友好,当富文本中的图片无法在浏览器中直接预览的 ...

  4. JS单元测试及原理

    单元测试 单元测试是指对软件中的最小可测试单元进行检查和验证,通过单元测试可以检测出潜在的bug,还可以快速反馈功能输出,验证代码是否达到预期,也可以保证代码重构的安全性. 有这样一个方法: let ...

  5. 剑指Offer-3~9题

    3. 数组中重复的数字 题目描述: 在一个长度为 \(n​\) 的数组里的所有数字都在 \(0​\) 到 \(n-1​\) 的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个 ...

  6. 深入理解vue的watch

    深入理解vue的watch vue中的wactch可以监听到data的变化,执行定义的回调,在某些场景是很有用的,本文将深入源码揭开watch额面纱 前言 watch的使用 watch的多种使用方式 ...

  7. ip转十进制(PHP、MySQL)

    mysql与php中都提供了IP转换十进制数函数 1. IP 由点分格式,转换为数字格式,代码如下: mysql> select inet_aton('127.0.0.1'); +------- ...

  8. redis最新版本安装及开机自启

    的系统是ubuntu,安装方式有多种,一种是通过apt仓库,一种是下载源码,编译安装 1.通过apt仓库 具体命令: sudo apt-get update sudo apt-get install ...

  9. TensorFlow——训练模型的保存和载入的方法介绍

    我们在训练好模型的时候,通常是要将模型进行保存的,以便于下次能够直接的将训练好的模型进行载入. 1.保存模型 首先需要建立一个saver,然后在session中通过saver的save即可将模型保存起 ...

  10. Java 添加、修改、读取、复制、删除Excel批注

    本文介绍通过Java程序来操作Excel批注的方法.操作内容包括批注添加(添加批注文本.背景色.字体.自适应等).修改.读取(文本.图片).复制.删除等. 工具:Free Spire.XLS for ...