Samba,是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网络协议做链接的自由软件。第三版不仅可访问及分享SMB的文件夹及打印机,本身还可以集成入Windows Server的网域,扮演为网域控制站(Domain Controller)以及加入Active Directory成员。简而言之,此软件在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无

一 服务端配置

1 安装所需软件

  1. [root@centos7 ~]# yum install samba samba-common -y

samba主要提供SMB服务所需的各项服务程序、相关的文件及其他和Samba相关的设置等

samba-common提供服务端和客户端都会用的的数据,包括主配置文件、语法检查等

2 添加Samba用户

添加smb1、smb2、smb3,所属组为centos组。

(1)添加系统用户,因为Samba用户必须是系统中已经存在的用户

  1. [root@centos7 ~]# useradd smb1 -G centos
  2. [root@centos7 ~]# useradd smb2 -G centos
  3. [root@centos7 ~]# useradd smb3 -G centos

(2)设置系统用户为Samba用户并修改密码

  1. smbpasswd [options] USERNAME
  2. -a:添加
  3. -x:删除
  4. -d:禁用
  5. -e:启用
  1. [root@centos7 ~]# smbpasswd -a smb1
  2. New SMB password:
  3. Retype new SMB password:
  4. Added user smb1.
  5. [root@centos7 ~]# smbpasswd -a smb2
  6. New SMB password:
  7. Retype new SMB password:
  8. Added user smb2.
  9. [root@centos7 ~]# smbpasswd -a smb3
  10. New SMB password:
  11. Retype new SMB password:
  12. Added user smb3.

(3)查看Samba用户

  1. pdbedit
  2. -L:列出samba服务中的所有用户;
  3. -a, --create:添加用户为samba用户;
  4. -u, --user=USER:要管理的用户;
  5. -x, --delete:删除用户;
  6. -t, --password-from-stdin:从标准输出接收字符串作为用户密码;使用空提示符,而后将密码输入两次;
  1. [root@centos7 ~]# pdbedit -L
  2. smb1:1001:
  3. smb3:1003:
  4. smb2:1002:

3 新建用共享目录

(1)新建目录/samba作为共享目录

  1. [root@centos7 ~]# mkdir /samba

(2)修改共享目录所属组,由于Samba用户都属于centos组

  1. [root@centos7 ~]# chgrp centos /samba/

(3)修改共享目录的权限

  1. [root@centos7 ~]# chmod 2770 /samba/
  2. [root@centos7 ~]# ll /samba/ -d
  3. drwxrwx--- 2 root centos 6 Jun 7 16:24 /samba/

4 编辑Samba配置文件

(1)修改主配置文件/etc/samba/smb.conf

  1. [root@centos7 ~]# vim /etc/samba/smb.conf
  2. [global]
  3. workgroup = MYGROUP ##工作组的名称
  4. security = user ##指定用户通过密码才能访问

在最后添加如下几行

  1. [samba]
  2. comment=My samba share ##只是这个目录的说明而已
  3. path=/samba ##共享的目录
  4. browseable=yes ##是否让所有用户看到这个项目
  5. create mask = 0664 ##建立文件的权限
  6. directory mask = 0775 ##建立目录的权限
  7. write list=@centos ##写入者包括哪些人

(2)检查配置文件语法

  1. [root@centos7 ~]# testparm
  2. Load smb config files from /etc/samba/smb.conf
  3. rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
  4. Processing section "[samba]"
  5. Loaded services file OK.
  6. Server role: ROLE_STANDALONE
  7. Press enter to see a dump of your service definitions
  8. # Global parameters
  9. [samba]
  10. comment = My samba share
  11. path = /samba
  12. create mask = 0664
  13. directory mask = 0775
  14. write list = @centos

5 启动服务

  1. [root@centos7 ~]# systemctl start smb.service

smbd主要功能就是管理Samba主机共享的目录、文件与打印机

  1. [root@centos7 ~]# systemctl start nmb.service
  1. nmbd主要用来管理工作组、netBIOS name等的解析

二 客户端配置

1 安装所需软件

  1. [root@centos7 ~]# yum install samba-client samba-common -y

samba-client提供Samba客户端所需的命令和工具,比如挂载文件格式的mount.cifs

2 使用smb1用户登录试试

  1. [root@centos7 ~]# smbclient -L //192.168.29.130 -U smb1
  2. Enter smb1's password:
  3. Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4] ##有时候OS=[Unix] 这个我也不知道为何
  4. Sharename Type Comment
  5. --------- ---- -------
  6. samba Disk My samba share
  7. IPC$ IPC IPC Service (Samba 4.4.4)
  8. Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]

3 挂载

(1)新建本地挂载目录

  1. [root@centos7 ~]# mkdir /smb/

(2)使用用户smb1挂载

  1. [root@centos7 ~]# mount -t cifs //192.168.29.130/samba /smb/ -o username=smb1,password=1234

(3)查看挂载

  1. [root@centos7 ~]# df -h /smb
  2. Filesystem Size Used Avail Use% Mounted on
  3. //192.168.29.130/samba 10G 1.2G 8.9G 12% /smb

(4)设置开机挂载

  1. [root@centos7 ~]# vim /etc/fstab
  2. #
  3. UUID=3ecec458-d4e7-4545-91bf-19cc36ce2ef7 / xfs defaults 0 0
  4. UUID=b7dbdf8d-753a-441b-b9ad-99c261908427 /boot xfs defaults 0 0
  5. UUID=05838299-1ad0-4e0b-a113-74ab99ed00f7 swap swap defaults 0 0
  6. //192.168.29.130/samba /smb cifs defaults,username=smb1,password=1234 0 0

Samba服务部署的更多相关文章

  1. CentOS 7下Samba服务部署

    Samba,是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网络协议做 ...

  2. 基于LDAP下的Samba服务

    基于LDAP下的Samba服务 一.环境情况: 实验环境:俩台机器,分别为2012R2,安装有 AD 并作为域控制器Domain Controller(DC),同时也作为 DNS 服务器和时间服务器: ...

  3. 部署samba服务之后,在客户端用挂载访问的方式,错误信息:mount: block device //192.168.1.108/mysqldata is write-protected, mounting read-only mount: cannot mount block device //192.168.1.108/mysqldata read-only

    部署samba服务之后,在客户端用挂载访问的方式,错误信息:mount: block device //192.168.1.108/mysqldata is write-protected, moun ...

  4. FTP&samba 服务简单部署

    第1章 FTP服务部署 在Linux下,我们应用最广泛的FTP服务程序是 vsftpd ( TCP端口:而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与 ...

  5. Linux系统部署samba服务记录

    Samba(Server Messages Block)是一种linux系统和windws系统之间依靠网络协议共享文件的服务程序,(Samba has provided secure, stable ...

  6. Linux下部署Samba服务环境的操作记录

    关于Linux和Windows系统之间的文件传输,很多人选择使用FTP,相对较安全,但是有时还是会出现一些问题,比如上传文件时,文件名莫名出现乱码,文件大小改变等问题.相比较来说,使用Samba作为文 ...

  7. Samba 1.0服务部署

    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成. SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统.打印机及其他资源. ...

  8. Linux常用服务部署与优化之Samba篇

    关于Samba的简介概述在此略过,开始搭建Samba服务. 1.安装Samba yum install -y samba samba-client 2.编辑Samba配置文件 首先共享一个目录,任何人 ...

  9. 如何在Linux下部署Samba服务?

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

随机推荐

  1. .Net中关于等于的故事(一)

    在.Net框架中,如果您查看所有类型的的基类:System.Object类,将找到如下4个与相等判断的方法: static Equals() virtual Equals() static Refer ...

  2. 推荐几个Dynamic Crm的大神博客

    ghostbear的博客:http://blog.csdn.net/ghostbear/article/category/1072859 ghostbear大神的博客是新手学习Dynamics Crm ...

  3. Java数值避免浮点型计算丢失精度问题

    问题描述及方案 假设我们在做电商项目,在进行计算时这个丢失精度在产品价格计算就会出现问题,很有可能造成我们手里有9.99元然后后面会有一堆9,但是呢这些钱无法购买一个10元的商品. 在某些编程语言中有 ...

  4. Sql函数简单使用

    ),)) ) as begin ) --如果@nameA 不为空则直接返回@nameA IF @nameA <>'' BEGIN set @lastNameVal = @nameA END ...

  5. java 获得当前时间 年月日时分秒 星期几

    <%SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");//设置日期格式SimpleDat ...

  6. docker - 启动container时出现 [warning] : ipv4 forwarding is disabled. networking will not work

    起因 今天在一台新的centos宿主机上安装docker,由于关闭了iptables,在此之后启动container的时候会出现警告: WARNING: IPv4 forwarding is disa ...

  7. C/C++中的volatile究竟是什么鬼?

    将变量或对象声明为volatile类型后,每次对变量的访问都是从其内存直接读取.那什么时候对变量的访问不是从其内存读取的呢?一种常见的情况就是编译器开启了优化选项,这时候对变量的访问有可能就是从寄存器 ...

  8. 遇到scan configurtation CDT builder等的错误

    可以直接propoerty中的builder中把这两项删除

  9. Redis 基础数据结构与对象

    Redis用到的底层数据结构有:简单动态字符串.双端链表.字典.压缩列表.整数集合.跳跃表等,Redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,这个系统包 ...

  10. web前端2017.6.10

    表单元素:用于客户端和服务端进行信息交互的通道 <form></form>:所有的表单元素都应该放在里面 文本输入框:<input type="text&quo ...