背景:

  项目需求linux的一个目录,需要在两台windows目录上面进行同时共享。

  使用mount时发现,通过mount将同一个linux上面的目录挂载在两台windows机器上时,会出现文件隐藏的现场。

解决:

  使用samba实现linux和windows的文件共享

1.首先检查os是否安装好了samba。

如图显示机器原来安装好了Samba的客户端,没有服务端。

yum进行安装服务端,方法如下:yum install samba* y

可能出现冲突:

解决办法如下:yum install samba* y --skip-broken

安装完成!

2.在本地建立一个samba共享的目录文件夹(我使用的/mnt/patches)

3.关闭samba服务器

由上面的查看结果可以看出此时samba服务没有开启,处于关闭状态;
如果没有关闭,使用service smb stop 命令关闭samba服务

4.修改/etc/samba/smb.cnf配置文件
(1)把/etc/samba/smb.cnf配置文件里的 security = user 修改为 security = share ;
   share即表示安全性为共享模式
(2)在/etc/samba/smb.cnf配置文件结尾加上如下配置内容
[ShareFolder]
comment = Share
path = /mnt/patches
public = yes
browseable = yes
writable = yes
;printable = no

配置说明:
[ShareFolder]       #共享目录的名字
comment = Thisismysambaserver!    #共享目录的说明,相当于注释
path = /home/ShareFolder       #共享目录的路径
public = yes                 #指定目录是否可以guest访问
browseable = yes             #指定目录是否可以容许浏览
writable = yes                #指定目录是否可以写(yes为可写,no为只可读)
;printable = no                #指定目录是否可以打印(yes为可打印,no为不可以打印)
#配置的内容前面加;相当于注释,这句不起作用

5.开启samba服务器

service smb start

6.共享子目录无法访问?解决如下

将security =  share 修改为 security = user;

valid users=root

设置root用户的smb服务访问密码,输入命令:  smbpasswd   –a   root,输入密码

启动SMB服务

smb.conf文件详细配置,限定用户进行访问

#=======================GlobalSettings=====================================

[global]

workgroup=user                 将linux加入的工作组名

serverstring=Samba             这是服务器描述信息,方便标志资源。可以随便输入。

encryptpasswords=yes              表示是否对用户的密码进行加密,这里选择加密,安全!

public=yes                   定义一个共享是否对公共访问开放。当设置为yes时,在系统上没有帐户用户将基于所定义的客户帐户的属性来接收访问。

smbpasswdfile=/etc/samba/smbpasswd    这是账号密码的存放文件

netbiosname=mm              ssamba在外部访问该samba服务器时,显示的信息。

#---------------------------LoggingOptions-----------------------------

#logssplitpermachine

logfile=/var/log/samba/log.%m        log文件的存放位置。

#max50KBperlogfile,thenrotate

maxlogsize=0                  log文件的大小限制,设置为0表示不做限制。

#-----------------------StandaloneServerOptions------------------------

security=user               共享的安全级别,samba有四种安全等级:

share:                   用户不需要账户及密码即可登录samba服务器

user:                  由提供服务的samba服务器负责检查账户及密码(默认)

server:                    检查账户及密码的工作由另一台windows或samba服务器负责

domain:                 指定windows域控制服务器来验证用户的账户及密码)

passdbbackend=tdbsam

以上即为通用一般配置。

加入我们需要共享的目录为/mnt/patches

需要添加如下代码:

[rose]

comment=Thisismysambaserver!

path=/mnt/patches

validusers=testuser

public=yes

writable=yes

添加可以访问我们刚才设置共享目录的用户:testuser

1)建一个系统用户

  1. [root@localhostsamba]#user add testuser(建一个名叫testuser的用户)
  2. [root@localhostsamba]#passwd testuser(给testuser用户添加密码)
  3. Changing password for user samba.
  4. New password:(密码要六位以上,不显示在屏幕上)
  5. BADPASSWORD:itdoesnotcontainenoughDIFFERENTcharacters
  6. Retypenewpassword:(确认密码)
  7. passwd:allauthenticationtokensupdatedsuccessfully

2)创建、更新/etv/samba/smbpasswd文件

  1. [root@localhostsamba]#cat/etc/passwd|mksmbpasswd.sh>/etc/samba/smbpasswd

3)然后创建samba帐户

  1. [root@localhostsamba]#smbpasswd-atestuser
  2. NewSMBpassword:
  3. RetypenewSMBpassword:
  4. Addedusertestuser.

重新启动smb服务

  1. [root@ciscosamba]#servicesmbrestart
  2. ShuttingdownSMBservices:[OK]
  3. StartingSMBservices:[OK]
  4. [root@ciscosamba]#servicenmbrestart
  5. ShuttingdownNMBservices:[OK]
  6. StartingNMBservices:[OK]

linux和Windows实现文件共享之samba的安装与配置的更多相关文章

  1. Linux与Windows共享文件夹之samba的安装与使用(Ubuntu为例)

    1.写在前面     当你在Windows上安装了一台Linux的虚拟机,你想访问Linux中的文件夹,将虚拟机中的文件复制到Windows主机上,你会怎么做呢?如果这台Linux主机不是虚拟机,而是 ...

  2. Samba的安装与配置

    Samba的安装与配置: 准备:关闭其他虚拟设备 #/etc/init.d/libvirtd stop #/etc/init.d/xend stop #chkconfig libvirtd off # ...

  3. Windows Server 2012/2012 R2:安装和配置 SMTP 服务器

    Windows Server 2012/2012 R2:安装和配置 SMTP 服务器 安装 SMTP 服务器 以下是安装 SMTP 服务器功能的步骤: 打开“服务器管理器”:单击键盘上的 Window ...

  4. Ubuntu 下配置Samba 实现Linux和windows之间文件共享

    一 Samba 的安装: sudo apt-get insall sambasudo apt-get install smbfs 二 在Ubuntu中创建共享目录: mkdir  /home/shar ...

  5. linux和windows共享文件,通过samba

    SAMBA共享1.安装samba:可以先检查下是否已经安装:rpm -qa | grep samba,没有的话自己安装下,这里介绍下基于RPM包的一种在线安装模式yumyum是一种快速安装模式,它会自 ...

  6. (四)Ubuntu 14.04 文件服务器--samba的安装和配置

    samba是Linux系统上的一种文件共享协议,可以实现Windows系统访问Linux系统上的共享资源,现在介绍一下如何在Ubuntu 14.04上安装和配置samba一. 一.更新源列表 打开&q ...

  7. samba的安装和配置

    samba是Linux系统上的一种文件共享协议,可以实现Windows系统访问Linux系统上的共享资源,现在介绍一下如何在Ubuntu 14.04上安装和配置samba 实验环境 Ubuntu 14 ...

  8. CentOS 7下Samba服务安装与配置详解

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

  9. CentOS7下Samba的安装与配置

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

随机推荐

  1. Akka(6): become/unbecome:运算行为切换

    通过一段时间的学习了解,加深了一些对Akka的认识,特别是对于Akka在实际编程中的用途方面.我的想法,或者我希望利用Akka来达到的目的是这样的:作为传统方式编程的老兵,我们已经习惯了直线流程方式一 ...

  2. 关于JS跨域问题的解决

    这里不提供什么高深的代码了,只说明一个解决跨域问题的方法,个人觉得这个方法是最方便也是最有效的. 那就是一用不同源的JS,虽然JS不允许不同源的访问,但是可以引用不同源的JS,用这样的方法我们可以引用 ...

  3. javacpp-opencv图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体、位置、大小、粗度、翻转、平滑等操作

    欢迎大家积极开心的加入讨论群 群号:371249677 (点击这里进群) javaCV图像处理系列: javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置. ...

  4. javascript 生成 uuid

    全局唯一标识符(GUID,Globally Unique Identifier)也称作 UUID(Universally Unique IDentifier) . GUID是一种由算法生成的二进制长度 ...

  5. 【PHP】最详细PHP从入门到精通(三)——PHP中的数组常用函数汇总

     PHP从入门到精通 之PHP中的数组常用函数详解 数组作为PHP中最常用的结构之一,PHP强大的数组函数功能,给数组的相关操作带来了极大的便利.今天给大家介绍的PHP中数组函数,是PHP数组中重要的 ...

  6. js___原生js轮播

    原生js轮播 作为一名前端工程师,手写轮播图应该是最基本掌握的技能,以下是我自己原生js写的轮播,欢迎指点批评: 首先css代码 a{text-decoration:none;color:#3DBBF ...

  7. undefined variable _session php

    解决方法: if (version_compare(PHP_VERSION, '5.4.0', '<')) { if(session_id() == '') {session_start();} ...

  8. Swift字符串可变性

    您可以通过将一个特定字符串分配给一个变量来对其进行修改,或者分配给一个常量来保证其不会被修改: var variableString = "Horse" variableStrin ...

  9. Kafka 源代码分析之Log

    这里分析Log对象本身的源代码. Log类是一个topic分区的基础类.一个topic分区的所有基本管理动作.都在这个对象里完成.类源代码文件为Log.scala.在源代码log目录下. Log类是L ...

  10. 【Android Developers Training】 88. 使用备份API

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...