当前位置: 首页 > news >正文

Linux服务器——Samba服务器

  • 简介

        Samba 是一个开源的跨平台文件共享服务​​,允许 Linux/Unix 系统与 Windows 系统实现文件和打印机的共享与互操作。其核心协议为 ​​SMB/CIFS​​(Server Message Block / Common Internet File System),是 Windows 网络中的标准文件共享协议。

  • Samba服务器的核心组件
    • smbd:负责处理文件和打印共享请求,直接与 SMB/CIFS 协议交互。
    • nmbd:提供 NetBIOS 名称解析(类似 Windows 网络中的计算机名发现)。
    • winbindd:集成 Linux 系统与 Windows 域用户认证,支持统一身份管理。
  • Samba服务器的优势(个人看法)

        Samba服务器是可以跨Linux和Windows的服务器,而且是开源免费的,适合个人和企业;而且支持加密的方式,可以确保数据一定程度的安全性;

  • 部署步骤
    • 安装Samba服务
      [root@node1 ~]# yum install -y samba samba-client
    • 配置防火墙(如果是学习环境建议直接关闭)
      # 允许Samba服务器通过
      [root@node1 ~]# firewall-cmd --permanent --add-service=samba
      [root@node1 ~]# firewall-cmd --reload 
      
      #直接关闭防火墙
      
      [root@node1 ~]# systemctl stop firewall
      [root@node1 ~]# systemctl disable firewall
    •  创建共享目录
      # 创建共享目录
      [root@node1 ~]# mkdir -p /samba/share
      
      # 调整权限(根据实际需求调整)
      [root@node1 ~]# chmod -R 777 /samba/share/
    • 配置Samba(!!!)
      # 备份配置文件,防止后面修改
      [root@node1 ~]# cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
      
      # vim配置smb.conf
      [root@node1 ~]# vim /etc/samba/smb.conf
      
      #在文件的最后加上以下命令(注意和上面层级对齐):
      [share]
              comment = Samba Share        # 对服务的描述(仅显示在客户端,不影响功能)
              path = /samba/share          # 共享目录的物理路径(就是我们上面创建的share文件)  
              browseable = yes             # 是否在网络中可见(yes=可见,no=隐藏但可直连访问)
              writable = yes               # 是否允许写入
              guest ok = no                # 是否允许匿名访问,这里是no;
              valid users = @smbusers      # 允许的用户组
      
    • 创建Samba用户
      # a.创建系统用户组和用户;
      
      [root@node1 ~]# groupadd smbusers
      
      [root@node1 ~]# useradd -M -s /sbin/nologin -G smbusers sambauser
      
      # -M:​​不创建用户主目录​​(如 /home/sambauser);
      # -s /sbin/nologin:禁止用户通过SSH或者终端系统登录,提高安全性;
      # -G:加入用户组(用户组必须真实存在);
      
      [root@node1 ~]# passwd sambauser 
      
      
      # b.直接将系统存在的用户加入到Samba用户数据库中
      
      [root@node1 ~]# smbpasswd -a sambauser    # 将用户加入Samba用户数据库中
      
      
    • 配置SELinux(如果是学习环境建议直接关闭)
      # 添加 SELinux 文件上下文规则​
      
      [root@node1 ~]# semanage fcontext -a -t samba_share_t "/samba/share(/.*)?"
      [root@node1 ~]# restorecon -Rv /samba/share
      
      # 直接永久关闭
      
      [root@node1 ~]# vi /etc/selinux/config    # 编辑配置文件
      [root@node1 ~]# SELINUX=disabled          # 修改为 disabled
      # 保存重启生效
      [root@node1 ~]# sudo reboot
    • 启动并启用服务
      [root@node1 ~]# sudo systemctl enable smb nmb --now
      [root@node1 ~]# sudo systemctl status smb nmb  # 检查状态
    • 测试

                1.使用Windows打开CMD,输入自己的Samba的服务器的IP地址:\\IP地址;

        

                  2.这样我们就可以在Samba服务器上进行操作了(实现了两个不同的系统之间的互通);

      

                 我们都是小小服务器搭建高手,一起加油!!哈哈哈哈!!大佬别喷!!

http://www.dtcms.com/a/122437.html

相关文章:

  • 【C++编程基础-关键字】:constexpr和const
  • Vue3服务端渲染实战:Nuxt3深度解析与高性能SSR架构设计
  • vLLM实战:多机多卡大模型分布式推理部署全流程指南
  • 深入探究Python的re模块及其在爬虫中的应用
  • 界面控件DevExpress WPF v25.1新功能预览 - 数据网格、报表性能增强
  • [特殊字符] Hyperlane:Rust 高性能 HTTP 服务器库,开启 Web 服务新纪元!
  • ARM裸机全集学习笔记【链接来源:向阳而生,逆风翻盘】
  • 智能家居设备
  • Ansible(5)——编写 Playbook
  • SpringMVC的请求-文件上传
  • 如何利用 Java 爬虫获取京东商品详情信息
  • scala总结与spark安装
  • 游戏引擎学习第213天
  • 【scikit-learn基础】--『预处理』之 正则化
  • JetBrains Terminal 又发布新架构,Android Studio 将再次迎来新终端
  • 21 天 Python 计划:MySQL中DML与权限管理
  • Java基础 4.9
  • 如何生成一个requestid
  • 地图服务热点追踪:创新赋能,领航出行与生活
  • Windows 下 Rust 安装全攻略(无需 Visual Studio)
  • 【力扣hot100题】(078)跳跃游戏Ⅱ
  • 用 npm list -g --depth=0 探索全局包的秘密 ✨
  • MySQL中使用索引一定有效吗?如何排查索引效果?
  • uniapp uni-collapse动态切换数据时高度不能自适应
  • 旅行世界宠物养殖合成游戏源码
  • SQL开发的智能助手:通义灵码在IntelliJ IDEA中的应用
  • 银河麒麟V10 Ollama+ShellGPT打造Shell AI助手——筑梦之路
  • 蓝桥杯 B3619 10 进制转 x 进制
  • 4.7学习总结 可变参数+集合工具类Collections+不可变集合
  • 分析一下HashMap内部是怎么实现的