之前用得好好的Samba共享目录,因为重装了Win10最新版的缘故导致无法连接,一开始很困惑,能够确定系统是绝对没有问题的,而且是用的官方原版非Ghost安装,还能确定samba共享目录服务器也是肯定没有问题;

第一次遇到这种事花了不少时间来解决这个问题,好在最后找到了原因以及解决了这个问题;

造成新版Win10无法连接SAMBA网络共享的原因是,Win10强制屏蔽了不安全的samba v1和v2协议,微软官方的说明:https://support.microsoft.com/de-ch/help/4046019/guest-access-smb2-disabled-by-default-in-windows-10-server-2016

然后百度了一些教程然而并没有解决Win10无法连接的Samba共享目录问题,出于长远考虑,我决定按照微软的强制建议来提升samba协议,用Samba v4版本;我这Samba共享目录运行在Centos系统上面;所以这个笔记基于Centos7来记录;

一、查看Win10工作站域名称

cmd查看Win10工作站域名称命令:net config workstation

得知工作站域为: WORKGROUP

二、CentOS 7中安装Samba4

1、Samba安装命令:
yum install samba samba-client samba-common -y
2、Firewall防火墙开启Samba端口命令
firewall-cmd --permanent --zone=public --add-service=sambafirewall-cmd --reload三、折腾smb.conf配置文件
1、将原有smb.conf备份一下,有备无患
cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
2、设置共享文件夹权限和用户组
假设我用共享 /3T 这个文件夹
chmod -R 0775 /3Tchown -R nobody:nobody /3T
3、设置Samba的SELINUX安全级别
chcon -t samba_share_t /3T
4、编辑sam.conf内容
[global]workgroup = WORKGROUPnetbios name = centossecurity = user[Anonymous]comment = Anonymous File Server Sharepath = /3Tbrowsable =yeswritable = yesguest ok = yesread only = noforce user = nobody
5、测试Samba配置文件
testparm
返回内容:
[root@localhost ~]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
netbios name = CENTOS
security = USER
idmap config * : backend = tdb
[Anonymous]
comment = Anonymous File Server Share
force user = nobody
guest ok = Yes
path = /3T
read only = No

6、Samba加入开机启动和立即启动命令

systemctl enable smb.servicesystemctl enable nmb.servicesystemctl start smb.servicesystemctl start nmb.service 四、设置登录账号和密码

假设我要创建一个名为5yun的账号以及给这个账号设置密码

adduser 5yunsmbpasswd -a 5yun

最后一步:Win10挂载Samba共享目录

打开我的电脑,点击网络右键,选择映射网络驱动

输入对应的samba服务器地址

输入前面设置的账号和密码

此时就可以看见Samba成功映射到了Win10系统中

补充:

1、发现Samba不能进入文件夹,提示没有权限,发现这是Centos7的SELinux安全级别太高引起,降低为Permissive 宽容模式即可

编辑:vi /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled

然后重启系统生效

用getenforce命令查看,显示Permissive就成功了