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

AlmaLinux9.5安装samba实现与Windows文件共享 笔记250214

Fedora41安装samba实现与Windows文件共享 笔记241202

步骤:

  1. 安装samba, 并启用 smb , nmb 服务

    • 切换阿里源(可选)
    ###    备份 /etc/yum.repos.d 文件夹
    tempUri=/etc/yum.repos.d ;    sudo cp -a $tempUri  $tempUri.$(date +%0y%0m%0d%0H%0M%0Sns%0N).bak
    sed -e 's|^mirrorlist=|#mirrorlist=|g' \-e 's|^# baseurl=https://repo.almalinux.org|baseurl=https://mirrors.aliyun.com|g' \-i.bak \/etc/yum.repos.d/almalinux*.repo
    sudo dnf makecache  
    
    1. 安装 samba
    sudo dnf update
    sudo dnf install samba -y
    
    1. 启用启动 smb, nmb
    sudo systemctl enable --now smb nmb
    

    等效

    sudo systemctl enable smb nmb
    sudo systemctl start smb nmb
    

    在Ubuntu24.04下,smb和smbd通用, nmb和nmbd通用, CentOS,Alma,Rocky 只能用smb和nmb, Ubuntu18.04只能用nmbd和smbd

  2. 设置 /etc/samba/smb.conf

    • 备份 /etc/samba/smb.conf
    tempSmbDotConfUri=/etc/samba/smb.conf ;    sudo cp -a ${tempSmbDotConfUri} ${tempSmbDotConfUri}.$(date +%0y%0m%0d_%0H%0M%0S_ns%0N).bak
    
    • vi 编辑 /etc/samba/smb.conf
    sudo vi /etc/samba/smb.conf
    
    1. [global]workgrop 设为 workgroup
    [global]workgroup = workgroupsecurity = user
    

    不替换, 保留为: workgroup = SAMBA 也能连通

    1. 设置共享目录, 这里设置了根目录, 在底部加入
      开头可以有空格或制表符,也可以没有, 等号之间可以有空格,也可以没有
      • 开头单 tab 版
      [RootFolder]path = /comment = 根文件夹public = yesread only = nowritable = yesavailable = yesbrowseable = yesguest ok = yes#forceuser = root#forcegroup = rootcreate mask = 0777directory mask = 0777[RootHomeFolder]path = /rootcomment = root用户文件夹public = yesread only = nowritable = yesavailable = yesbrowseable = yesguest ok = yes#forceuser = root#forcegroup = rootcreate mask = 0777directory mask = 0777
      • 开头四空格版
      ### 四空格版
      [RootFolder]path = /comment = 根文件夹public = yesread only = nowritable = yesavailable = yesbrowseable = yesguest ok = yesforceuser = rootforcegroup = rootcreate mask = 0777directory mask = 0777[RootHomeFolder]path = /rootcomment = root用户文件夹public = yesread only = nowritable = yesavailable = yesbrowseable = yesguest ok = yesforceuser = rootforcegroup = rootcreate mask = 0777directory mask = 0777
    • 查看 /etc/samba/smb.conf
    sudo cat /etc/samba/smb.conf
    
  3. 将系统用户添加到samba的用户,并单独设置samba的密码,独立于系统密码

    sudo smbpasswd -a root
    

    查看samba的用户

    sudo pdbedit -L
    
  4. 重启 smb, nmb 服务

    sudo systemctl restart smb nmb smb nmb
    
  5. 关闭禁用防火墙或者开启端口

    • 关闭禁用防火墙

      sudo systemctl stop firewalld ; sudo systemctl disable firewalld
      
    • 或者开启端口

      • 查看firewall默认的zone,
        一般CentOS是public, Fedora是FedoraWorkstation

        sudo firewall-cmd --get-default-zone
        
      • 查看活跃的zone, 一般就是默认zone

        sudo firewall-cmd --get-active-zones
        
      • 开放445端口的tcp
        fedora41的默认zone是: FedoraWorkstation

        sudo firewall-cmd --zone=FedoraWorkstation  --add-port=445/tcp --permanent
        sudo firewall-cmd --reload
        

        自动通过 $(sudo firewall-cmd --get-default-zone) 获取默认zone

        sudo firewall-cmd --zone=$(sudo firewall-cmd --get-default-zone) --add-port=445/tcp --permanent
        sudo firewall-cmd --reload
        
      • 开放139端口的tcp

        sudo firewall-cmd --zone=$(sudo firewall-cmd --get-default-zone) --add-port=139/tcp --permanent
        sudo firewall-cmd --reload
        
      • 开放138端口的udp

        sudo firewall-cmd --zone=$(sudo firewall-cmd --get-default-zone) --add-port=138/udp --permanent
        sudo firewall-cmd --reload
        
      • 开放137端口udp

        sudo firewall-cmd --zone=$(sudo firewall-cmd --get-default-zone) --add-port=137/udp --permanent
        sudo firewall-cmd --reload
        
      • 开放137,138的udp, 139,445的tcp

        sudo firewall-cmd --zone=$(sudo firewall-cmd --get-default-zone) --add-port=137/udp --permanent
        sudo firewall-cmd --zone=$(sudo firewall-cmd --get-default-zone) --add-port=138/udp --permanent
        sudo firewall-cmd --zone=$(sudo firewall-cmd --get-default-zone) --add-port=139/tcp --permanent
        sudo firewall-cmd --zone=$(sudo firewall-cmd --get-default-zone) --add-port=445/tcp --permanent
        sudo firewall-cmd --reload
        sudo systemctl restart firewalld
        
    • 查看开放的端口 firewall-cmd --list-ports

      sudo firewall-cmd --list-ports
      
      • 查看 public 的 zone 开放的端口 firewall-cmd --list-ports --zone=public
        sudo firewall-cmd --list-ports --zone=public
        
        如何查看firewall开放了哪些端口 笔记241129
  6. 在Windows登录
    在"文件资源管理器"输入 \\IPv4 或控制台输入 explorer \\IPv4

    如果用 IPv6
    Explorer文件资源管理器用 IPv6 访问局域网网络共享网上邻居 , 要将 ipv6 的地址格式进行转换:

    1. 将所有 :(冒号) 替换成 -(横杆,减号,负号)

    2. 在地址末尾加上 .ipv6-literal.net

      .ipv6-literal.net
      

      例如:

      fc00::102:2441:f
      对应转换为👇
      \\fc00--102-2441-f.ipv6-literal.net
      
  7. 第一次登录可能慢,甚至要多登录几次, 尝试重启AlmaLinux
    登录成功后发现不能访问/root文件夹和/home下的用户文件夹, 原因是SELinux在作怪,
    可以执行sudo setenforce 0,但重启会失效

    sudo setenforce 0  # 设置为Permissive模式 重启失效
    

    可用getenforce命令查看SELinux当前的执行模式。SELinux有三种执行模式:enforcing(强制模式)、permissive(宽容模式)和disabled(禁用模式)。

    sudo getenforce
    

    想要永久生效
    可修改编辑/etc/selinux/config文件,将SELINUX=enforcing更改为SELINUX=permissive , 或者 SELINUX=disabled, 重启生效
    用vi编辑器修改/etc/selinux/config

    sudo vi /etc/selinux/config
    

    用sed命令修改
    二选一

    • 设置 SELINUX=permissive
      ###  备份
      tempUri=/etc/selinux/config ;    sudo cp -a  $tempUri  $tempUri.$(date +%0y%0m%0d%0H%0M%0Sns%0N).bak
      ###  修改
      sudo sed -ie 's(^\s*SELINUX\s*=\s*enforcing$(SELINUX=permissive(g' /etc/selinux/config
      
    • 设置 SELINUX=disabled
      ###  备份
      tempUri=/etc/selinux/config ;    sudo cp -a  $tempUri  $tempUri.$(date +%0y%0m%0d%0H%0M%0Sns%0N).bak
      ###  修改
      sudo sed -ie 's!^\s*SELINUX\s*=\s*enforcing$!SELINUX=disabled!g' /etc/selinux/config
      

    查看/etc/selinux/config

    sudo cat /etc/selinux/config
    

    重启

    sudo systemctl reboot
    

    SELinux的 getenforce setenforce 配置文件/etc/selinux/config的 SELINUX和SELINUXTYPE

一气呵成

#!/bin/bash
###    安装samba
sudo yum install samba -y
###    备份samba配置文件
tempSmbDotConfUri=/etc/samba/smb.conf ;    sudo cp -a ${tempSmbDotConfUri} ${tempSmbDotConfUri}.$(date +%0y%0m%0d_%0H%0M%0S_ns%0N).bak
###    修改samba配置文件
sudo sed -ri 's/workgroup\s*=.*$/workgroup=WORKGROUP/g' /etc/samba/smb.confecho '[RootFolder]path = /comment = 根文件夹public = yesread only = nowritable = yesavailable = yesbrowseable = yesguest ok = yes#forceuser = root#forcegroup = rootcreate mask = 0777directory mask = 0777[RootHomeFolder]path = /rootcomment = root用户文件夹public = yesread only = nowritable = yesavailable = yesbrowseable = yesguest ok = yes#forceuser = root#forcegroup = rootcreate mask = 0777directory mask = 0777[samba]path = /home/sambacomment = samba用户文件夹public = yesread only = nowritable = yesavailable = yesbrowseable = yesguest ok = yes#forceuser = samba#forcegroup = sambacreate mask = 0777directory mask = 0777[smbpasswd]path = /home/smbpasswdcomment = smbpasswd用户文件夹public = yesread only = nowritable = yesavailable = yesbrowseable = yesguest ok = yes#forceuser = smbpasswd#forcegroup = smbpasswdcreate mask = 0777directory mask = 0777[pdbedit]path = /home/pdbeditcomment = pdbedit用户文件夹public = yesread only = nowritable = yesavailable = yesbrowseable = yesguest ok = yes#forceuser = pdbedit#forcegroup = pdbeditcreate mask = 0777directory mask = 0777'  >>  /etc/samba/smb.conf###    启用启动samba服务
sudo systemctl enable --now smb nmb###    配置防火墙
sudo firewall-cmd --zone=$(sudo firewall-cmd --get-default-zone) --add-port=137/udp --permanent
sudo firewall-cmd --zone=$(sudo firewall-cmd --get-default-zone) --add-port=138/udp --permanent
sudo firewall-cmd --zone=$(sudo firewall-cmd --get-default-zone) --add-port=139/tcp --permanent
sudo firewall-cmd --zone=$(sudo firewall-cmd --get-default-zone) --add-port=445/tcp --permanent
sudo firewall-cmd --reload
sudo systemctl restart firewalld###    配置SeLinux
sudo setenforce 0  # 设置为Permissive模式 重启失效
###  备份
tempUri=/etc/selinux/config ;    sudo cp -a  $tempUri  $tempUri.$(date +%0y%0m%0d%0H%0M%0Sns%0N).bak
###  修改
sudo sed -ie 's(^\s*SELINUX\s*=\s*enforcing$(SELINUX=permissive(g' /etc/selinux/configsudo useradd samba
sudo smbpasswd -a samba

相关文章:

AlmaLinux9.5安装samba实现与Windows文件共享 笔记250214

Fedora41安装samba实现与Windows文件共享 笔记241202 步骤: 安装samba, 并启用 smb , nmb 服务 切换阿里源(可选) ### 备份 /etc/yum.repos.d 文件夹 tempUri/etc/yum.repos.d ; sudo cp -a $tempUri $tempUri.$(date %0y%0m%0d%0H%0M%0Sns%0N).bak sed -e s|^mirrorli…...

二〇二四年终总结

写在前面 简单总结一下告诉自己,曾经活着 不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树 原本应该 24 年年中的时候写 23 年年终的总结,但是一直拖着&…...

学习sql的资源:sql练习平台;在线编辑器,免费sql教程,免费sql书籍

sql练习平台 LeetCode力扣(部分免费) 题库 - 力扣 (LeetCode) 全球极客挚爱的技术成长平台 HackerRank 解决 SQL |黑客排名 SQLPad SQL、Python 和 R 面试问题 StrataScratch StrataScratch - Analytical Questions 数据雷mur Free SQL Tutorial for Data Analysts …...

宝塔和docker的区别

宝塔面板 vs Docker:区别、场景与互补使用指南 eepseek回答宝塔和docker的区别 好的,我现在需要回答用户关于宝塔面板和Docker之间的区别的问题。首先,我需要明确这两个工具各自的定义、功能以及它们适用的场景,这样才能准确比较…...

机器学习--实现多元线性回归

机器学习—实现多元线性回归 本节顺延机器学习--线性回归中的内容,进一步讨论多元函数的回归问题 y ′ h ( x ) w ⊤ ∙ x b y^{\prime}h(x)w^\top\bullet xb y′h(x)w⊤∙xb 其中, w T ⋅ x 就是 W 1 X 1 w 2 X 2 w 3 X 3 ⋯ w N X N \text{其中,}w^\math…...

【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter2-HTML 中的 JavaScript

二、HTML 中的 JavaScript 将 JavaScript 插入 HTML 的主要方法是使用<script>元素。 <script>元素有下列 8 个属性。 async&#xff1a;可选。表示应该立即开始下载脚本&#xff0c;但不能阻止其他页面动作&#xff0c;比如下载资源或等待其他脚本加载。只对外部…...

【人工智能】释放数据潜能:使用Featuretools进行自动化特征工程

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 特征工程是机器学习流程中至关重要的一步,它直接影响模型的性能。然而,手动特征工程既耗时又需要领域专业知识。Featuretools是一个强大的…...

算法——对比A*算法与IDA*算法

A*算法与IDA*算法详细解析 1. A*算法 核心思想&#xff1a; A*算法是一种启发式搜索算法&#xff0c;结合了Dijkstra算法的最短路径保证和贪心最佳优先搜索的高效导向性。其核心是评估函数 ( f(n) g(n) h(n) )&#xff0c;其中&#xff1a; ( g(n) ): 从起点到当前节点 ( …...

GitLab CI/CD 的配置详解:从零开始使用 .gitlab-ci.yml 文件

在现代软件开发中&#xff0c;CI/CD&#xff08;持续集成与持续部署&#xff09;已成为提高开发效率和代码质量的核心实践。GitLab CI/CD 提供了强大的功能&#xff0c;帮助开发者自动化构建、测试和部署应用程序。而 .gitlab-ci.yml 文件是 GitLab CI/CD 配置的关键所在&#…...

python语言进阶之函数

目录 前言 函数的创建和调用 函数创建 调用函数 参数传递 形式参数和实际参数 位置参数 数量必须与定义时一致 位置必须与定义时一致 关键字参数 为参数设置默认值 可变参数 **parameter 返回值 变量的作用域 局部变量 全局变量 匿名函数 前言 提到函数&…...

网络安全等级保护基本要求、测评要求、高风险判定指引综合梳理

网络安全等级保护基本要求、测评要求、高风险判定指引综合梳理 等级保护基本要求、测评要求、高风险判定指引综合梳理测评要求思维导图二级三级 花了些时间把网络安全等级保护涉及的以下三份标准文件进行了整理&#xff0c;以表格的形式进行展现&#xff0c;能帮助初学者更加直…...

JSON入门略要

JavaScript对象表示法&#xff08;JavaScript Object Notation&#xff0c;JSON&#xff09;已经成为RESTful接口设计中的事实标准。 JSON数据格式使得应用程序可以通过RESTful API等方式在网络上进行数据通信。 REST: 表现层状态转化&#xff08;REpresentation State Transf…...

Python爬虫抓取数据时,如何设置请求头?

在Python爬虫中设置请求头是确保爬虫能够正常运行并获取目标数据的关键步骤之一。请求头可以帮助我们模拟浏览器行为&#xff0c;避免被目标网站识别为爬虫。以下是如何在Python爬虫中设置请求头的详细指南&#xff1a; 一、使用requests库设置请求头 requests库是Python中最…...

以若依移动端版为基础,实现uniapp的flowable流程管理

1.前言 此代码是若依移动端版为基础&#xff0c;实现flowable流程管理&#xff0c;支持H5、APP和微信小程序三端。其中&#xff0c;APP是在安卓在雷电模拟器环境下完成的&#xff0c;其他环境未测试&#xff0c;此文章中所提及的APP均指上述环境。移动端是需要配合若依前后端分…...

DeepSeek 助力 Vue 开发:打造丝滑的开关切换(Switch)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…...

unity学习39:连续动作之间的切换,用按键控制角色的移动

目录 1 不同状态之间的切换模式 1.1 在1个连续状态和一个连续状态之间的transition&#xff0c;使用trigger 1.2 在2个连续状态之间的转换&#xff0c;使用bool值切换转换 2 至少现在有2种角色的移动控制方式 2.1 用CharacterController 控制角色的移动 2.2 用animator…...

C++ ——构造函数

1、作用&#xff1a;创建对象时&#xff0c;给对象的属性进行初始化 2、特点 &#xff08;1&#xff09;构造函数与类同名 &#xff08;2&#xff09;如果没有显式给出构造函数&#xff0c;编译器会给出默认的构造函数&#xff08;参数为空&#xff0c;并且函数体也为空&#…...

Python实现语音识别详细教程【2025】最新教程

文章目录 前言一、环境搭建1. 下载 Python2. 安装 Python3 使用 pip 安装必要的库 二、使用 SpeechRecognition 库进行语音识别1.识别本地音频文件2.实时语音识别3. 使用其他语音识别引擎 注意事项 前言 以下是一份较为完整的 Python 语音识别教程&#xff0c;涵盖环境搭建、使…...

【第12章:深度学习与伦理、隐私—12.4 深度学习与伦理、隐私领域的未来挑战与应对策略】

凌晨三点的自动驾驶测试场,AI系统突然在暴雨中做出惊人决策——它选择撞向隔离带而不是紧急变道,因为算法推演发现隔离带后的应急车道站着五个工程师。这个惊悚的伦理困境,揭开了深度学习伦理危机最尖锐的冰山一角。 一、潘多拉魔盒已开:深度学习伦理的四大原罪 1.1 数据原…...

Django中数据库迁移命令

在 Django 中&#xff0c;数据库迁移是确保数据库结构与 Django 模型定义保持一致的重要过程。以下是 Django 中常用的数据库迁移命令&#xff1a; 1. python manage.py makemigrations 功能&#xff1a;此命令用于根据 Django 项目的模型文件&#xff08;models.py&#xff…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...

第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)

第一篇&#xff1a;Liunx环境下搭建PaddlePaddle 3.0基础环境&#xff08;Liunx Centos8.5安装Python3.10pip3.10&#xff09; 一&#xff1a;前言二&#xff1a;安装编译依赖二&#xff1a;安装Python3.10三&#xff1a;安装PIP3.10四&#xff1a;安装Paddlepaddle基础框架4.1…...

Linux-进程间的通信

1、IPC&#xff1a; Inter Process Communication&#xff08;进程间通信&#xff09;&#xff1a; 由于每个进程在操作系统中有独立的地址空间&#xff0c;它们不能像线程那样直接访问彼此的内存&#xff0c;所以必须通过某种方式进行通信。 常见的 IPC 方式包括&#…...