OpenWrt 搭建 samba 服务器的方法并解决 Windows 不允许访问匿名服务器(0x80004005的错误)的方法

文章目录

  • 一、安装所需要的软件
  • 二、配置自动挂载
  • 三、配置 Samba 服务器
  • 四、配置 Samba 访问用户和密码(可选)
    • 新建 Samba 专门的用户
    • 添加无密码的 Samba 账户
    • 使用root账户
  • 五、解决 Windows 无法匿名访问Samba
    • 方案一 配置无密码的Samba账户并启用匿名访问
    • 方案二 在本地组策略组编辑器中启用不安全来宾登录

一、安装所需要的软件

首先 OpenWrt 的官方文档出详细介绍了在 OpenWrt 搭建 Samba 服务器的方法:https://openwrt.org/docs/guide-user/services/nas/cifs.server

首先,在编译的时候,需要给 内核 勾选上对 usb文件系统的相关的支持。

usb 的模块有:

kmod-usb3 kmod-usb-storage-uas usbutils block-mount mount-utils

各个模块所在的位置如下:

Kernel modules > USB Support > kmod-usb3
Kernel modules > USB Support > kmod-usb-storage-uas 
Utilities > usbutils
Base system > block-mount
Utilities > mount-utils

前两个是最基础的 USB 支持,后三个是用于自动挂载 USB设备 的工具。

此处推荐安装 Utilities > Disc > fdisk 工具,可用于查看和管理 USB设备 的分区信息。

文件系统的模块有:

kmod-fs-ext4 kmod-fs-exfat kmod-fs-ntfs3

其都是在 Kernel modules > Filesystems 下的。其中,
kmod-fs-ext4EXT4 文件系统支持
kmod-fs-exfatexFATfat32 文件系统支持
kmod-fs-ntfs3NTFS 文件系统支持( Windows 默认的文件系统)。也可以使用 Utilities > Filesystem > ntfs-3g 启用 NTFS 文件系统支持
如果有其它文件系统格式,则勾选编译安装其他相关的驱动。

最后,勾选安装 luci-app-samba4Luci 应用,运行 samba4

二、配置自动挂载

由于在 Linux 中每个磁盘和分区都需要通过挂载的方式,才能正确的识别,因此我们接入一个 u盘 之后就需要配置一下,在系统中分配路径。

为了方便在 OpenWrt 中挂载,建议在电脑上提前对硬盘进行分区。

由于我们在前面已经安装了 block-mount 工具,那么其可以为我们自动识别文件系统的格式和路径,然后自动为我们把硬盘挂载到 /mnt 目录。此工具在后台管理中位置为 系统 > 挂载点
在这里插入图片描述
当我们将 USB设备 接入之后,点击 挂载点 页面中 生成配置 ,在点击 挂载已连接的设备,此时就会自动将系统支持的文件系统挂载到了 /mnt 目录下了。注意:生成的配置需要点击保存之后才能永久生效
在这里插入图片描述
此时就可以在 挂载点 中看到接入的 USB设备 了。可点击编辑 ,实现修改它的挂载参数。

如果自动挂载找不到自己的硬盘或者分区,需要检查在第一步是否在内核中安装了相关文件系统的支持。

三、配置 Samba 服务器

Luci 管理页面 中 打开 服务 > 网络共享 界面进行配置Samba 服务器。

对于常规设置来说,只需要按需启用即可,不会影响整体功能。
在这里插入图片描述
随后在 共享目录 添加硬盘的挂载路径,进行配置共享硬盘。
在这里插入图片描述
如果计划无需登录即可使用,则可以勾选 允许匿名用户,否则对于设备访问来说就需要输入用户名和密码。

四、配置 Samba 访问用户和密码(可选)

这一步是可选的,对于家庭 Samba 来说,如果能确保数据安全,则可以直接勾选 允许匿名用户,无需配置用户和密码。但是,在某些设备上,处于安全性考虑,是不允许 匿名访问 模式,例如Windows,默认不启用 匿名访问,但可在策略组修改这一行为(后文介绍)。

新建 Samba 专门的用户

samba 使用的用户名即为系统中的用户名,但为了保证系统的安全,samba 中使用的密码和管理员密码就不相同的,需要分别独立设置。

首先可以使用 useradd 命令添加一个 samba 的专门用户,如果没有 useradd 命令,则需要先安装 shadow-useradd应用。为了保证数据安全,此用户无目录和禁止登陆 shell

# 创建用户(无家目录,禁止登录)
useradd -M -s /bin/false smbuser  

随后可以使用 smbpasswd 命令设置Samba 密码,随后输入两次相同的密码即可

 # 设置 Samba 密码
smbpasswd -a smbuser

至此就完成了添加 samba 专门的账户,在客户端登录时,使用此用户名和密码即可。

添加无密码的 Samba 账户

Samba 支持无密码的用户,只需要在设置密码的时候,不输入任何字符,连续按两次回车即可。
同时,需要确保在 samba 配置的模板 中有 null passwords = yes 的配置项
在这里插入图片描述

使用root账户

处于安全考虑,Samba 默认不会使用 root 用户,如果需要启用,则需要在模板代码中,invalid users 配置项中不包含root,或直接注释掉此配置项。
在这里插入图片描述

五、解决 Windows 无法匿名访问Samba

出于安全考虑,Windows 默认屏蔽了 匿名访问 的能力,此时会提示:你不能访问此共享文件夹 因为你组织的安全策略阻正止未经身份验证的来宾访。 这些策略可帮助保护你的电脑免受网络上不安全设备或恶意设备的威胁。这里可能会出现0x80004005的错误
在这里插入图片描述
这里给出两个解决方案。

方案一 配置无密码的Samba账户并启用匿名访问

为了避免 Windows 无法匿名访问,我们可以专门为 Samba 建立一个无密码的账户,在 Windows 登录时使用此用户名进行登录即可。同时在 Samba 配置时也 启用匿名访问,其他设备则可以直接匿名访问,而无需输入用户名和密码。

方案二 在本地组策略组编辑器中启用不安全来宾登录

对于 专业版 或 企业版 的 Windows 来说,其支持管理组策略(Win + R 中输入 gpedit.msc 打开 本地组策略组编辑器),因此可以 启用不安全来宾登录
在这里插入图片描述
其位置在 计算机配置 > 管理模板 > 网络 > Lanman工作站 > 启用不安全来宾登录,将其修改为 已启用 即可。

在这里插入图片描述
但是此方法有明显的缺陷,就是对于家庭版的 Windows 来说不能直接修改策略组,同时如果有多台设备,就需要配置多次,因此建议使用方案一来解决 Windows 不能 匿名访问 的问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/82416.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS 7镜像源替换

更换为阿里云镜像源(适用于 CentOS 7) 1、备份原来的 repo 文件: mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2、下载阿里云的 CentOS 7 repo 文件: curl -o /etc/yum.repos.d/CentOS-Base…

功能结构整理

C# Sxer Sxer.Base:基础子功能 Sxer.Base.Debug:打印 Sxer.Utility:工具类 Sxer.CustomFunction:独立功能点开发 Unity

云计算Linux Rocky day02(安装Linux系统、设备表示方式、Linux基本操作)

云计算Linux Rocky day02(安装Linux系统、设备表示方式、Linux基本操作) 目录 云计算Linux Rocky day02(安装Linux系统、设备表示方式、Linux基本操作)1、虚拟机VMware安装Rocky2、Linux命令行3、Linux Rocky修改字体大小和背景颜…

【论文阅读】《PEACE: Empowering Geologic Map Holistic Understanding with MLLMs》

目录 前言一、研究背景与问题1-1、地质图的重要性1-2、现有MLLMs的不足 二、 主要贡献2-1、GeoMap-Bench:首个地质图理解评估基准2-2、GeoMap-Agent:首个地质图专用AI代理2-3、实验验证与性能优势 三、关键技术3-1、 数据构建与预处理3-2、分层信息提取&…

计算机网络通信技术与协议(八)----关于IS-IS的基础概念

关于IS-IS最早是ISO为CLNP(Connectionless Network Protocol,无连接网络协议)而设计的一种动态路由协议。 目录 这里提到了CLNP这个概念,在这里解释一下: CLNS由以下三个协议构成: 那么为什…

网络原理1

协议 在网络通信中,协议是非常重要的概念。协议是在网络通信过程中的约定。发送方和接收方需要提前商量好数据的格式,才能确保正确进行沟通。 应用层协议 应用层,对应着应用程序,是跟我们程序员打交道最多的一层。调用操作系统…

【运维】统信UOS操作系统aarch64自制OpenSSH 9.6p1 rpm包(含ssh-copy-id命令)修复漏洞

为修复如下OpenSSH漏洞,openssh从8.2升级至9.6,然而并未找到统信9.6的rpm源,所以自己动手制作,折腾了一天,在此记录一下 准备工作 检查版本 cat /etc/os-releaseuname -a如图当前环境为aarch64架构,在其…

CI/CD 持续集成、持续交付、持续部署

CI/CD 是 持续集成(Continuous Integration) 和 持续交付/持续部署(Continuous Delivery/Deployment) 的缩写,代表现代软件开发中通过自动化流程快速、可靠地构建、测试和发布代码的实践。其核心目标是 减少人工干预、…

Spring Boot 应用中实现配置文件敏感信息加密解密方案

Spring Boot 应用中实现配置文件敏感信息加密解密方案 背景与挑战 🚩一、设计目标 🎯二、整体启动流程 🔄三、方案实现详解 ⚙️3.1 配置解密入口:EnvironmentPostProcessor3.2 通用解密工具类:EncryptionTool 四、快速…

OpenCV CUDA模块特征检测------角点检测的接口createMinEigenValCorner()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数创建一个 基于最小特征值(Minimum Eigenvalue)的角点响应计算对象,这是另一种经典的角点检测方法&…

性能优化 - 理论篇:CPU、内存、I/O诊断手段

文章目录 Pre引言1. CPU 性能瓶颈1.1 top 命令 —— 多维度 CPU 使用率指标1.2 负载(load)——任务排队情况1.3 vmstat 命令 —— CPU 繁忙与等待 2. 内存性能瓶颈2.1 操作系统层面的内存分布2.2 top 命令 —— VIRT / RES / SHR 三个关键列2.3 CPU 缓存…

GPIO的内部结构与功能解析

一、GPIO总体结构 总体构成 1.APB2(外设总线) APB2总线是微控制器内部连接CPU与外设(如GPIO)的总线,负责CPU对GPIO寄存器的读写访问,支持低速外设通信 2.寄存器 控制GPIO的配置(输入/输出模式、上拉/下拉等&#x…

汽车总线分析总结(CAN、LIN、FlexRay、MOST、车载以太网)

目录 一、汽车总线技术概述 二、主流汽车总线技术对比分析 1. CAN总线(Controller Area Network) 2. LIN总线(Local Interconnect Network) 3. FlexRay总线 4. MOST总线(Media Oriented Systems Transport&#x…

WordPress 6.5版本带来的新功能

WordPress 6.5正式上线了!WordPress团队再一次为我们带来了许多新的改进。在全球开发者的共同努力下,WordPress推出了许多新的功能,本文将对其进行详细总结。 Hostease的虚拟主机现已支持一键安装最新版本的WordPress。对于想要体验WordPres…

【vue+ts】找不到模块“./App.vue”或其相应的类型声明

报错&#xff1a;找不到模块“./App.vue”或其相应的类型声明。 原因&#xff1a;typescript只能理解.ts文件&#xff0c;无法理解.vue文件。 解决&#xff1a;在src/env.d.ts下添加&#xff1a; /// <reference types"vite/client" /> // 三斜线引用告诉编译…

Nginx+Tomcat 负载均衡群集

目录 一&#xff0c;部署Tomcat 1&#xff0c;案例概述 2&#xff0c;案例前置知识点 &#xff08;1&#xff09;Tomcat简介 &#xff08;2&#xff09;应用场景 3&#xff0c;案例实施 3.1&#xff0c;实施准备 &#xff08;1&#xff09;关闭firewalld防火墙 &#…

Spring Boot Actuator未授权访问漏洞修复

方案1&#xff1a;在网关的配置文件里增加以下配置 management:endpoints:web:exposure:include: []enabled-by-default: falseendpoint:health:show-details: ALWAYS 方案二&#xff1a;直接在nginx配置拦截actuator相关接口 location /actuator { return 403; …

动态规划之网格图模型(二)

文章目录 动态规划之网格图模型&#xff08;二&#xff09;LeetCode 931. 下降路径最小和思路Golang 代码 LeetCode 2684. 矩阵中移动的最大次数思路Golang 代码 LeetCode 2304. 网格中的最小路径代价思路Golang 代码 LeetCode 1289. 下降路径最小和 II思路Golang 代码 LeetCod…

React 编译器

&#x1f916; 作者简介&#xff1a;水煮白菜王&#xff0c;一位前端劝退师 &#x1f47b; &#x1f440; 文章专栏&#xff1a; 前端专栏 &#xff0c;记录一下平时在博客写作中&#xff0c;总结出的一些开发技巧和知识归纳总结✍。 感谢支持&#x1f495;&#x1f495;&#…

mac下通过anaconda安装Python

本次分享mac下通过anaconda安装Python、Jupyter Notebook、R。 anaconda安装 点击&#x1f449;https://www.anaconda.com/download&#xff0c; 点击Mac系统安装包&#xff0c; 选择Mac芯片&#xff1a;苹果芯片 or intel芯片&#xff0c; 选择苹果芯片图形界面安装&#x…