因为在自己的云服务器预装的是centos,但是想在本地window10环境下用Vscode进行编程,所以通过在centos搭建samba服务来和window端共享文件夹
环境为centos7.5, win10, samba4.9.1
1.安装samba软件
yum -y install samba samba-client samba-common
2.设置samba
(1).备份原有设置
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
(2).修改设置
vim /etc/samba/smb.conf
将[global]项改为:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = Samba
security = user
map to guest = Bad User
passdb backend = tdbsam
可以添加如下内容,共享的是/data路径
[data]
comment = User Files Share
path = /data
valid users = root
write list = root
writeable = yes
printable = no
create mask = 0644
directory mask = 0755
还可共享不同文件夹,添加下面的内容共享的是/home/test
[test]
comment = User Files Share
path = /home/test
valid users = root
write list = root
writeable = yes
printable = no
create mask = 0644
directory mask = 0755
[test] 是共享后要显示的文件夹名称,path = /home/test是共享路径,随后保存更改
3.添加smb用户
(1)添加用户组和用户
groupadd testGroup # 这里的liugroup是用户所在的组
smbpasswd -a root # 添加用户,并设置密码,即windows端连接时需要填写的密码
(2)重启smb,并设置开机启动
service smb restart
systemctl enable smb.service
systemctl enable nmb.service
(3)查看smb状态
systemctl status smb
类似于图上状态才是成功开启了
4.设置防火墙
防火墙的状态应该为:
selinux:关闭
firewall:打开
(1)永久关闭selinux
vim /etc/selinux/config
将SELINUX=enforcing 改为:SELINUX=disabled,如下图
(2)设置filewall
firewall-cmd --permanent --add-service=samba
systemctl restart firewalld.service
补充1.解决445端口关闭问题
为了防止永恒之蓝勒索病毒,运营商禁用了samba默认使用的445端口,为了解决这个问题,我进行了如下操作
(1)在smb.conf添加smb ports = 8445,修改后[global]的内容如下
[global]
smb ports = 8445
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = Samba
security = user
map to guest = Bad User
passdb backend = tdbsam
这样就将centos上的samba所使用的端口改为8445
(2)将win10上samba使用的端口也改为8445
a.下载divertTCPconn.exe
百度网盘下载链接:https://pan.baidu.com/s/1-WhqcsTpcjluJvor1BgMdw
提取码:76wv
b.使用管理员权限打开cmd窗口,然后执行如下操作
这样应该就能连接上共享目录了
c.如果嫌每次开机都要执行上一步操作太麻烦,可以把exe程序转变成windows服务,就默认自动运行在后台了,参考如下文章
文章链接:https://blog.youkuaiyun.com/lys1220/article/details/90052262
这边有点坑的就是我在注册表设置的时候,在我的不同设备使用不同的操作才能生效,可以尝试一下如下两种方式