Samba服务是现在Linux系统与Windows系统之间共享文件的最佳选择。

[root@study ~]# yum install samba -y  #安装samba服务

[root@study ~]# cat -n /etc/samba/smb.conf  #查看samba主配置文件

Samba服务程序中的参数以及作用

[global] 参数 作用
  workgroup = MYGROUP

#工作组名称

  server string = Samba Server Version %v

#服务器介绍信息,参数%v为显示SMB版本号

  log file = /var/log/samba/log.%m

#定义日志文件的存放位置与名称,参数%m为来访的主机名

  max log size = 50

#定义日志文件的最大容量为50KB

  security = user

#安全验证的方式,总共有4种

 

#share:来访主机无需验证口令;比较方便,但是安全性很差

 

#user:需验证来访主机提供口令后才可以访问;提高了安全性

 

#server:使用独立的远程主机验证来访主机提供的口令(集中管理账户)

 

#domain:使用域控制器进行身份验证

 

passdb backend = tdbsam

#定义用户后台的类型,共有3种
 

#smbpasswd:使用smbpasswd命令为系统用户设置Samba服务程序的密码

 

#tdbsam:创建数据库文件并使用pdbedit命令建立Samba服务程序的用户

 

#ldapsam:基于LDAP服务进行账户验证

 

load printers = yes

#设置在Samba服务启动时是否共享打印机设备
 

cups options = raw

#打印机的选项
[homes]   #共享参数
  comment = Home Directories #描述信息
  browseable = no #指定共享信息是否在“网上邻居”中可见
  writable = yes #定义是否可以执行写入操作,与"read only“相反
[printers]   #打印机共享参数

[root@study ~]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak  #备份配置文件

[root@study ~]# cat /etc/samba/smb.conf.bak |grep -v "#" |grep -v ";" | grep -v "^$" > /etc/samba/smb.conf  #去掉以#号分号;开头的注释信息。

[root@study ~]# cat /etc/samba/smb.conf

配置共享资源

用于设置Samba服务程序的参数以及作用

参数 作用
[database] 共享名称为database
comment = Do not  arbitrarily modify the database file 警告用户不要随意修改数据库
path = /home/database 共享目录为/home/database
public = no 关闭“所有人可见”
writeable yes  允许写入操作

第1步:创建用于访问共享资源的账户信息。在Centos7中Samba服务程序默认使用的是用户口令认证模式(user)。

pdbedit命令用于管理SMB服务程序的账户信息数据库,格式为“pdbedit [选项] 账户”。在第一次把账户信息写入到数据库时需要使用-a参数,以后执行修改密码、删除账户等操作时就不在需要该参数。

用于pdbedit命令的参数以及作用

参数 作用
-a 用户名 建立Samba账户
-x 用户名 删除Samba账户
-L 列出账户列表
-Lv 列出账户详细信息的列表

[root@study ~]# useradd Samba
[root@study ~]# id Samba
uid=1002(Samba) gid=1002(Samba) groups=1002(Samba)
[root@study ~]# pdbedit -a -u Samba

new password:输入密码
retype new password:再次输入密码

第2步:创建用于共享资源的文件目录。应当考虑文件读写权限问题。

[root@study ~]# mkdir /home/database
[root@study ~]# chown -Rf Samba:Samba /home/database

第3步:在Samba服务程序的主配置文件中,写入共享信息。

[root@study ~]# vim /etc/samba/smb.conf

1 [global]
2 workgroup = MYGROUP
3 server string = Samba Server Version %v
4 log file = /var/log/samba/log.%m
5 max log size = 50
6 security = user
7 passdb backend = tdbsam
8 load printers = yes
9 cups options = raw
10 [database]
11 comment = Do not arbitrarily modify the database file
12 path = /home/database
13 public = no
14 writable = yes

第4步:重启smb服务

[root@study ~]# systemctl restart smb
[root@study ~]# systemctl enable smb

利用Windows访问文件共享服务

Linux:192.168.218.138

Win+r

\\192.168.218.138

使用刚才设值的用户名密码登录测试增删改权限

Linux访问文件共享服务

Windows:192.168.0.105

[root@study ~]# yum install cifs-utils -y

在Linux客户端,按照Samba服务的用户名、密码、共享域的顺序将相关信息写入到一个认证文件中。权限修改为仅root管理员读写:

[root@study ~]# vim auth.smb

username=Samba
password=123456
domain=MYGROUP

[root@study ~]# chmod 600 auth.smb

在Linux客户端创建一个用于挂在Samba服务共享资源的目录,挂载信息写入到/etc/fstab文件中,确保挂载信息

[root@study ~]# vim /etc/fstab

//192.168.218.138/database /database cifs credentials=/root/auth.smb    0 0在服务器重启后依然生效:

[root@study ~]# mount -a

Linux客户端成功挂载了Samba服务的共享资源。可以看到Windows系统创建的qer.txt文件

[root@study ~]# cat /database/qer.txt

Linux使用Samba实现文件共享的更多相关文章

  1. linux和Windows实现文件共享之samba的安装与配置

    背景: 项目需求linux的一个目录,需要在两台windows目录上面进行同时共享. 使用mount时发现,通过mount将同一个linux上面的目录挂载在两台windows机器上时,会出现文件隐藏的 ...

  2. 《linux就该这么学》课堂笔记15 vsftpd文件传输、Samba/NFS文件共享

    1.为了能够在如此复杂多样的设备之间(Windows.Linux.UNIX.Mac等不同的操作系统)解决问题解决文件传输问题,文件传输协议(FTP)应运而生. FTP服务器是按照FTP协议在互联网上提 ...

  3. 使用Samba实现文件共享

    1987年,微软公司和英特尔公司,共同制定了SMB(Server Messages Block 服务消息块)协议,指在解决局域网内的文件或打印机等资源的共享问题,这也使得在多个主机之间共享文件变得越来 ...

  4. Linux服务-samba

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

  5. Linux安装samba

    说明:samba的作用是实现window环境和linux环境下的文件共享,相当于window里的网络邻居,有一定的价值,但是随着时代的发展,现在用各种ssh软件登录linux实现文件共享和传输的场景越 ...

  6. linux之samba使用

    工作中,很多时候,我导出文件,或者上传文件的时候经常失败,报samba fail,但我并不知道samba是干什么用的,也老是听同事说什么samba没有挂载,但我基本上不知道什么是samba,更不要说什 ...

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

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

  8. Linux下samba的安装与配置

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

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

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

随机推荐

  1. iOS中数组的倒序、升序、降序

    NSMutableArray *array = [NSMutableArray arrayWithObjects:",nil]; // 倒序 NSMutableArray *resultAr ...

  2. ios11下适配UItableView

    参考链接: https://www.cnblogs.com/spider-pei/p/7592906.html

  3. rsync nfs web01总结

    目录 rsync nfs web01总结 要求 部署rsync服务端(172.16.1.41) 部署rsync客户端(172.16.1.31.172.16.1.7) 部署web代码 NFS服务端部署 ...

  4. MySQL 数据库查询数据,过滤重复数据保留一条数据---(MySQL中的row_number变相实现方法)

    转自: http://www.maomao365.com/?p=10564 摘要: 下文讲述MySQL数据库查询重复数据时,只保留一条数据的方法 实现思路: 在MySQL数据库中没有row_numbe ...

  5. 学习postman教程

    postman可以做什么 1.可以做单接口的测试 2.可以调试接口 3.对接口设置变量后,可以做多接口的测试,并输出报告 如何用postman调试接口 1.填写api地址 2.选择请求方式 3.输入a ...

  6. 2019-2020-1 20199305《Linux内核原理与分析》第五周作业

    系统调用的三层机制(上) (一)用户态.内核态和中断 (1)Intel x86 CPU有4种不同的执行级别 分别是0.1.2.3,数字越小,特权越高.Linux操作系统中只是采用了其中的0和3两个特权 ...

  7. react+dva 全局model中异步获取数据state在组件中取不到值

    先上结论,不是取不到,是写法有问题. 全文分4部分,1是问题描述,2是一开始的解决想法(错误做法),3是问题产生原因的思考,4是正常解决方法.只想看结论直接跳4 1.问题描述 接触react dva一 ...

  8. MySQL数据库实战之优酷

    目录 一.项目总结三步骤 二.项目需求分析 三.搭建框架 四.ORM框架分析 五.数据库设计 六.项目中各个功能模块分析 七.项目中遇到的问题及怎么解决的 八.客户端代码框架 8.1 conf 8.1 ...

  9. 使用OC实现单链表:创建、删除、插入、查询、遍历、反转、合并、判断相交、求成环入口

    一.概念 链表和数组都是一种线性结构,数组有序存储的,链表是无序存储的. 数组中的每一个元素地址是递增或者递减的关系,链表的每一个节点的地址没有此规律,它们是通过指针的指向连接起来. 链表种类:单链表 ...

  10. C语言程序设计100例之(9):生理周期

    例9    生理周期 问题描述 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为 23 天.28 天和33 天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如 ...