安装samba服务
sudo yum install samba -y
创建共享目录
mkdir /home/shared
sudo chown nobody:nogroup /home/shared
chmod 777 -R /home/shared
添加samba用户
# 创建用户zd
useradd zd
# 设置samba用户的密码
sudo smbpasswd -a zd
配置samba
vim /etc/samba/smb.conf
在尾部新增如下内容:
[smb]
# 设置文件夹共享名
comment = smb共享
# 设置共享目录的路径
path = /home/shared
# 可以访问的用户和组
valid users = zd
# 设置目录是否可写
writable = yes
重启samba服务
systemctl restart smb
systemctl status smb
# 关闭防火墙或者开放相关端口
systemctl stop firewalld
systemctl status firewalld
windows下访问smb
键盘WIN+R,执行
\\服务器ip
腾讯云配置smb端口映射
使用腾讯云服务器搭建samba服务后,windows无法访问smb。
原因分析
samba服务的所属端口是139、445,此类端口即使在云上本身是没有限制的,部分端口存在安全隐患,尽管腾讯云未做限制,但运营商仍会将其拦截,从而导致无法访问。
Port 139 (TCP) - 文件和打印共享 ; smbd (基于SMB(Server Message Block)协议,主要在局域网中使用,文件共享协议)
Port 445 (TCP) - NetBIOS服务在windos 2000及以后版本使用此端口, (Common Internet File System,CIFS,它是SMB协议扩展到Internet后,实现Internet文件共享)
解决方案
1)重新配置samba
vim /etc/samba/smb.conf
在[global]中添加:
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
smb ports = 1445 // 添加内容,重新设置监听端口为1445
2)重启samba服务
systemctl restart smb
systemctl status smb
3)查看samba端口监听
[root@VM-0-16-centos ~]# netstat -anp | grep 1445
tcp 0 0 0.0.0.0:1445 0.0.0.0:* LISTEN 365474/smbd
tcp6 0 0 :::1445 :::* LISTEN 365474/smbd
[root@VM-0-16-centos ~]#
4)映射该服务器的1445端口到本地455端口
netsh interface portproxy add v4tov4 listenport=445 listenaddress=127.0.0.1 connectport=1445 connectaddress=SERVER_IP
删除端口转发命令(后续如有需要):
# <Listen Address>要删除的规则的监听地址,<Listen Port>要删除的规则的监听端口。
netsh interface portproxy delete v4tov4 listenaddress=<Listen Address> listenport=<Listen Port>
5)查看映射关系是否生效
6)访问samba
键盘WIN+R,执行
\\127.0.0.1