最近在学习smb服务,哇!简直问题多的不要不要的。因为以前是学习的红帽6的系统,现在用的是CentOs7,所以还是改不了以前的一些配置方式,造成了很多问题。快成地中海了!

我们准备环境:

系统: 服务端CentOs7、客户端CentOs7、windows10

可能大多数人的错误在客户端连接服务端的时候,拒绝连接。原因大部分出在没有关闭SELinux,和防火墙(不考虑安全性的简单访问)以及共享目录和访问的目录不一致,在这简单提一下,重要的后面详细。

1、关闭SELinux

setenforce 0

2、关闭防火墙

systemctl stop firewall.service    关闭firewall

上面的内容基本上在百度上都有很多(我就不在赘述他们的了),但是根本不能解决我的问题。如果能解决你的,恭喜你。不能解决请看下面。

第一条,你可能都将上面说的问题关掉了,还是出现如图的错误信息

那么你要检查一下你的共享文件,我这里共享的是/home/share,注意细节,在你访问共享的时候,不许要再加上/home。记住这一小点,虽然小,但是可能让你一两个小时做不出来,我就是个案例。如果还是不能访问,欢迎联系我共同讨论。

第二条,当你将上面的内容做好,如果好了,恭喜你,如果不好,咱们继续

当你发现重新连接的时候还是没能成功,拒绝连接的提示,可能造成的原因,还有另外一种,iptables

这里就是CentOS7于红帽6的不同,在7里,iptables是直接禁用的,可能我以前作死实验没有重置这个防火墙,不知道你们也和我一样吗。和我一样的,来把它清除掉

iptables -F  清除iptables的配置

iptables -L  查看iptables的全部配置内容,现在应该是空的

第三条,在配置完成后,你去用windows访问的时候,是不是特别的卡。

这里其实就是一个小的原因,如果你是用的虚拟机,并且是NAT模式,只需要将网VMwareNET8中添加DNS即可,如果没有这个问题,请忽略这条。

特别提一点的是,如果你匿名连接成功,想在次用用户重新链接登录的时候,你发现还是原来的匿名连接,这个时候我们需要将windows里面的共享连接断开就行,打开windows命令行执行命令

net share    查看已有的共享连接

net use * /del  删除所有的共享连接

第四条,也是变化非常大的一条

在红帽6中,其中全局变量中security(设置访问方式)的选项有很多个,值得一提的是user和share。

share在红帽6中,表示这我们客户端可以进行匿名访问。而在CentOS7中是没有这一个选项的,其他的选项也是没有的,只有user这一个。如果你想在客户端windows上匿名访问,需要添加一行

map to guest = Bad User

这里为什么说是在windows中匿名访问,为什么不加上linux?看下面

我们先来看一下,简单的共享配置内容

可以看到,我加上了匿名用户访问的一行,但是共享的public设为no。我们验证一下这里能不能匿名访问

匿名访问时不提供用户名密码,直接回车,发现拒绝掉了

我们再来看一中情况

我们将全局变量中的一行注释掉,将public改为yes,我们再去验证一下

我们登录成功。

所以我的理解是,在linux中访问,public决定着是否允许匿名访问的权限,和全局变量中的map to guest没有关系。所以说,当你觉得你的全局变量已经设好了,linux客户端为什么还不能访问?这时,你一定要看看public的设置是不是yes。

有的配置中还会出现guest ok = yes/no的一行,其实是和public是同义的 。

这是我遇到些的问题,以及解决方法,如果能给你带来帮助,那太好了,如果还不行(毕竟是个小菜鸟写的),可以联系我,共同讨论一下。

smb服务问题解析,区别红帽6和CentOS7的更多相关文章

  1. SMB/CIFS协议解析一概述

    一.SMB/CIFS协议的区别 在NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统,这个系统基于NetBIOS设定了一套文件共享协 议,Microsoft ...

  2. ASP.NET Core中间件(Middleware)实现WCF SOAP服务端解析

    ASP.NET Core中间件(Middleware)进阶学习实现SOAP 解析. 本篇将介绍实现ASP.NET Core SOAP服务端解析,而不是ASP.NET Core整个WCF host. 因 ...

  3. WebApi用JilFormatter处理客户端序列化的字符串加密,之后在服务端解析。

    本文有改动,参考原文:https://www.cnblogs.com/liek/p/4888201.html https://www.cnblogs.com/tonykan/p/3963875.htm ...

  4. centos7搭建smb服务

    1 yum install samba samba-client samba-common -y  安装smb服务 2 cp -a  /etc/samba/smb.conf /etc/samba/sm ...

  5. CentOS 使用SMB服务 让windows能够上传文件

    1. 新增加用户 useradd zhaobsh 2. 使用 pdbedit的方式新增加用户 pdbedit -a -u zhaobsh 3. 修改smb服务 systemctl restart sm ...

  6. metasploit framework(九):SMB服务扫描

    SMB版本扫描 扫描命名管道,判断SMB服务类型 SMB共享枚举 SMB用户枚举 SID枚举

  7. syslog之二:syslog协议及rsyslog服务全解析

    目录: <syslog之一:Linux syslog日志系统详解> <syslog之二:syslog协议及rsyslog服务全解析> <syslog之三:建立Window ...

  8. SOA和微服务架构的区别?

    转自知乎:https://www.zhihu.com/question/37808426/answer/93335393 SOA和微服务架构的区别? 微服务架构强调的第一个重点就是业务系统需要彻底的组 ...

  9. ubuntu14.4.4安装smb服务实现文件共享

    1.软件安装,ubuntu14需要安装的软件有3个 安装服务前养成习惯 sudo apt-get upgrade 首先切换到超级用户  su - root sudo apt-get install s ...

随机推荐

  1. SpringCloud之Eureka注册中心原理及其搭建

    一.Eureka简介 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的.SpringCl ...

  2. PHP中RabbitMQ之amqp扩展实现(四)

    目前我在PHP里接触实现RabbitMQ的方式有两种,一种是通过amqp扩展,一种是使用php-amqplib,本章讲诉RabbitMQ的安装及amqp扩展及amqp扩展如何实现RabbitMQ 环境 ...

  3. 调查问卷WebApp

    1. 效果演示 2. 主要知识点 使用slot分发内容 动态组件 组件通信 实例的生命周期 表单 3. 遇到的问题 bus 通信 第一次 $on 监听不到 // 解决bus 第一次通信 $on 监听不 ...

  4. django的几种缓存配置

    前言 首先说,为什么要用缓存的,由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存 ...

  5. Hadoop_28_MapReduce_自定义 inputFormat

    1. 自定义inputFormat 1.1.需求: 无论hdfs还是mapreduce,对于小文件都有损效率,实践中,又难免面临处理大量小文件,此时就需要有相应解决方案; 1.2.分析: 小文件的优化 ...

  6. shell脚本编程进阶及RAID和LVM应用1

    bash脚本编程 脚本文件格式: 第一行,顶格写: #!/bin/bash 注释行:#开头 代码注释:写清楚注释 规范写脚本:适度缩进,添加空白行 编程语言:有编程语法格式,库,算法和数据结构 编程思 ...

  7. github(工蜂)密码过期时sourcetree重新登录

  8. 【Java 关键字this 的使用】还阔以调用重载的构造方法

    笔记: /** this 关键字的使用除了调用方法和变量外, * 还可以用来显示 调用当前类的重载的指定的构造方法! * 同时也应该必须放到该方法内部的首行! */ 测试: import java.l ...

  9. C#实现异步阻塞TCP(Send,Receive,Accept,Connect)

    1.类 (1)服务器端操作类 public class TcpServiceSocket { //接收数据事件 public Action<Socket, string> recvMess ...

  10. gitlab常用的命令

    git checkout . #本地所有修改的.没有的提交的,都返回到原来的状态git stash  #把所有没有提交的修改暂存到stash里面.可用git stash pop回复.git reset ...