• Ubuntu安装Samba(阿里云服务器、samba端口映射)


    1、安装 Samba 服务

    sudo apt-get install samba  	#安装 Samba 服务器
    sudo apt-get install smbclient	#安装 Samba 客户端
    
    • 1
    • 2

    查看samba版本

    samba -V
    
    • 1

    2、配置需要共享的目录

    # 新建目录,用于共享
    mkdir /usr/local/volumes
    # 更改权限信息
    sudo chown nobody:nogroup /usr/local/volumes
    # 给所有用户添加读写权限
    sudo chmod 777 /usr/local/volumes
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2、添加 Samba 用户

    添加 Samba 用户,用于在访问共享目录时使用。这里添加的用户在 Linux 中必须存在。

    sudo smbpasswd -a Crayon  #Crayon是用户名
    #附添加用户
    useradd -m 用户名 
    passwd 用户名
    
    • 1
    • 2
    • 3
    • 4

    3、配置samba服务器

    vim /etc/samba/smb.conf 
    
    • 1

    跳到文件末尾(命令模式按G),加入配置信息。

    [Volumes]   		#映射的共享名称
      comment = Volumes  #描述信息
      path = /usr/local/volumes  #共享文件夹路径
      browseable = yes		#该共享是否可以浏览
      writable = yes		#是否有写权限
      available = yes		#该共享资源是否可用
      valid users = Crayon	#允许访问该共享的用户,多个用户或者组中间用逗号隔开
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3、重启 Samba 服务、放行端口

    sudo service smbd restart
    
    • 1

    查看服务状态

    sudo service smbd status
    
    • 1

    Ubuntu要放行端口或关闭防火墙。

    ufw status		#查看防火墙状态:inactive是关闭,active是开启。
    ufw enable		#开启防火墙。
    ufw disable 	#关闭防火墙。
    ufw allow 139 	#开放22端口,放行端口后需要重启防火墙
    ufw reload 	  	#重启ufw防火墙
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在控制面板-程序功能-启用或关闭windows功能开启客户端,关闭服务器(否则可能通过127.0.0.1访问到的是本地的samba共享目录)

    在这里插入图片描述

    4、在Windows下访问samba服务器

    方式一:Win +R 输入

    \\ + ip
    
    • 1

    方式二:

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    方式三:

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    \\ip\Volumes Volumes为smb.conf中配置的共享名。

    在这里插入图片描述

    后面输入刚才设置的用户名和密码就可以了。

    本地虚拟机安装的Samba到这就已经可以正常使用了。

    5、阿里云需要配置smb端口映射

    阿里云服务器:部分运营商判断端口25、135、139、444、445、5800、5900等为高危端口,并默认屏蔽。即使您添加的安全组规则放行了这些端口,在受限地区仍无法访问。建议您修改为其它非高危端口承载业务。

    说白了就是你防火墙放行了这些端口,也无法通过该端口进行访问。

    5.1 查看samba服务使用的端口

    netstat -tlnp |grep smb
    
    • 1

    在这里插入图片描述

    显示当前使用的是默认的139和445(win10通过ip访问时似乎都是默认走445)

    Port 139 (TCP) - 文件和打印共享 ; smbd (基于SMB(Server Message Block)协议,主要在局域网中使用,文件共享协议)

    Port 445 (TCP) - NetBIOS服务在windos 2000及以后版本使用此端口, (Common Internet File System,CIFS,它是SMB协议扩展到Internet后,实现Internet文件共享)

    在windows客户端telnet一下看是否是端口问题:

    telnet SERVER_IP 139   #SERVER_IP:阿里云服务器公网IP
    telnet SERVER_IP 445
    
    • 1
    • 2

    telnet不通,说明是端口被禁用,需要自定义一个新的端口号

    vim /etc/samba/smb.conf
    
    • 1

    在samba配置文件的[global]中添加

    smb ports = 1399
    
    • 1

    在这里插入图片描述

    5.2 重启 Samba 服务

    service smbd restart
    #查看状态
    service smbd status
    
    • 1
    • 2
    • 3

    5.3 再次检查samba使用的端口

    netstat -tlnp |grep smb
    
    • 1

    在这里插入图片描述

    服务器的防火墙放行端口

    在这里插入图片描述

    这时在windows下telnet是可以telnet通的

    telnet SERVER_IP 1399
    
    • 1

    5.4 映射该服务器的1399端口到本地455端口

    由于windows访问远程文件夹时使用默认455端口,无法指定自定义端口,因此还需要在win端通过“映射该服务器的1399端口到本地455端口”的方式实现访问

    netsh interface portproxy add v4tov4 listenport=445 listenaddress=127.0.0.1 connectport=1399 connectaddress=SERVER_IP #SERVER_IP写自己服务器IP
    
    • 1

    删除端口转发命令:

    netsh interface portproxy delete v4tov4 listenaddress=<Listen Address> listenport=<Listen Port>
    #要删除的规则的监听地址,要删除的规则的监听端口。
    
    • 1
    • 2

    添加后可检查映射列表是否已存在

    netsh interface portproxy show all
    
    • 1

    image-20230926131727066

    现在就可以使用\\127.0.0.1访问服务器的Smb了

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    windows系统部署minio,以及添加到系统服务器
    Python 全栈系列191 基于Redis队列的处理服务
    Firefly RK3399 PC pro开发板资料
    鸿蒙全量源代码在线阅读
    内衣洗衣机便宜好用的牌子有哪些?四款公认好用洗内裤机推荐
    npm安装依赖过慢
    计算机毕业设计Java基本web蓝桥杯名师工作室(源码+系统+mysql数据库+lw文档)
    【吴恩达机器学习笔记】九、机器学习系统的设计
    华为机试 - 查找接口成功率最优时间段
    Excel快捷键表
  • 原文地址:https://blog.csdn.net/crayon0/article/details/133313173