SMB服务,客户连接及服务配置问题解析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SMB服务,客户连接及服务配置问题解析相关的知识,希望对你有一定的参考价值。
最近在学习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服务,客户连接及服务配置问题解析的主要内容,如果未能解决你的问题,请参考以下文章