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

linux设置挂载指定的usb,自动挂载

一、设置指定的USB

在Linux系统中,如果您只想让系统挂载特定的USB设备,而忽略其他的USB设备,可以通过创建自定义的udev规则来实现。以下是设置系统只能挂载指定USB设备的基本步骤:

  1. 确定USB设备的属性
    首先,您需要确定您想要挂载的USB设备的属性,如供应商ID(idVendor)和产品ID(idProduct)。可以使用lsusb命令列出所有已连接的USB设备,并找到您想要指定的设备。

    lsusb
    

    或者,使用udevadm获取更详细的信息:

    udevadm info -a -p $(udevadm info -q path -n /dev/sdX)
    

    其中/dev/sdX是您的USB设备节点。

  2. 创建udev规则文件
    基于您收集到的设备信息,创建一个udev规则文件。这个文件将定义当特定USB设备连接时,系统将采取的行动。

    创建一个新的规则文件:

    sudo nano /etc/udev/rules.d/99-allow-only-usb.rules
    

    添加如下规则:

    ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="您的供应商ID", ATTRS{idProduct}=="您的产品ID", RUN+="/bin/echo 'USB device %k allowed'"
    

    请将“您的供应商ID”和“您的产品ID”替换为您的实际ID。

  3. 阻止未指定的USB设备
    创建另一个规则文件,以阻止未指定的USB设备:

    sudo nano /etc/udev/rules.d/99-block-other-usb.rules
    

    添加如下规则:

    ACTION=="add", SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}!="您的供应商ID", ENV{ID_MODEL_ID}!="您的产品ID", RUN+="/bin/echo 'USB device %k blocked'"
    
  4. 重新加载udev规则
    保存规则文件并退出编辑器,然后重新加载udev规则以应用更改:

    sudo udevadm control --reload-rules
    
  5. 测试规则
    您可以使用udevadm测试规则,以确保它们按预期工作:

    sudo udevadm test $(udevadm info -q path -n /dev/sdX)
    

    其中/dev/sdX是您的USB设备节点。

请注意,这些规则仅用于在控制台中打印消息,以确认特定USB设备被允许或阻止。如果您想要完全阻止未授权的USB设备,您可能需要结合使用udev规则和usbguard或创建一个脚本来实际阻止设备挂载。

另外,如果您想要挂载特定的USB设备,您需要在udev规则中添加挂载命令,或者在/etc/fstab中添加相应的条目,以实现自动挂载。

在编辑系统文件和创建规则时,请谨慎行事,因为错误的规则可能会导致系统不稳定或安全问题。如果您不确定如何进行,最好咨询有经验的系统管理员。

二、自动挂载

要在Linux系统中设置自动挂载指定的USB设备,您可以通过两种主要方式来实现:使用udev规则或编辑/etc/fstab文件。下面是每种方法的步骤:

方法一:使用udev规则自动挂载

  1. 创建挂载脚本
    编写一个脚本,当udev规则触发时,这个脚本将执行挂载命令。

    sudo nano /usr/local/bin/mount_usb.sh
    

    添加以下内容(请根据需要修改脚本):

    #!/bin/bash
    DISK="/dev/$1"
    MOUNT_POINT="/mnt/usb"
    FILESYSTEM=$(lsblk -no FSTYPE $DISK)if [ ! -d "$MOUNT_POINT" ]; thensudo mkdir -p "$MOUNT_POINT"
    fiif [ "$FILESYSTEM" != "" ]; thensudo mount -t $FILESYSTEM $DISK $MOUNT_POINT
    fi
    

    使脚本可执行:

    sudo chmod +x /usr/local/bin/mount_usb.sh
    
  2. 创建udev规则
    创建一个udev规则文件,当指定的USB设备连接时,自动执行挂载脚本。

    sudo nano /etc/udev/rules.d/99-usb-automount.rules
    

    添加如下规则:

    ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="您的供应商ID", ATTRS{idProduct}=="您的产品ID", RUN+="/usr/local/bin/mount_usb.sh %k"
    

    替换"您的供应商ID""您的产品ID"为您的USB设备的供应商和产品ID。

  3. 重新加载udev规则
    重新加载udev规则以应用更改。

    sudo udevadm control --reload-rules
    

方法二:在/etc/fstab中添加条目以实现自动挂载

  1. 确定USB设备的UUID
    使用blkid命令获取USB设备的UUID。

    sudo blkid
    

    找到您的USB设备的条目,并复制其UUID。

  2. 编辑/etc/fstab文件
    将以下行添加到/etc/fstab文件中,实现自动挂载。

    sudo nano /etc/fstab
    

    添加如下条目:

    UUID=您的UUID /mnt/usb 自动检测的文件系统类型 defaults 0 0
    

    您的UUID替换为实际的UUID,/mnt/usb是您希望挂载的目录。

  3. 创建挂载点
    如果尚未存在,为USB设备创建一个挂载点。

    sudo mkdir -p /mnt/usb
    
  4. 测试挂载
    您可以通过以下命令测试挂载是否正确设置:

    sudo mount -a
    

这两种方法都可以实现USB设备的自动挂载。使用udev规则可以提供更灵活的控制,例如,您可以在脚本中添加额外的挂载选项或条件。而/etc/fstab方法则更为简单,但它不提供基于设备属性的挂载控制。根据您的具体需求选择适当的方法。

相关文章:

linux设置挂载指定的usb,自动挂载

一、设置指定的USB 在Linux系统中,如果您只想让系统挂载特定的USB设备,而忽略其他的USB设备,可以通过创建自定义的udev规则来实现。以下是设置系统只能挂载指定USB设备的基本步骤: 确定USB设备的属性: 首先&#xff0…...

简站WordPress主题

简站WordPress主题是一种专为建立网站而设计的WordPress模板,它旨在简化网站建设过程,使得用户能够更容易地创建和管理自己的网站。简站WordPress主题具有以下特点: 易用性:简站WordPress主题被设计为简单易用,适合各…...

is和==的关系

Python中is和的关系 is判断两个变量是不是指的是同一个内存地址,也就是通过id()函数判断 判断两个变量的值是不是相同 a [1, 2, 3, 4] b [1, 2, 3, 4] print(id(a)) # 2298268712768 print(id(b)) # 2298269716992 print(a is b) # False print(a b) # Tr…...

璩静是为了薅百度羊毛

关注卢松松,会经常给你分享一些我的经验和观点。 百度副总裁璩静离职了,网传她的年薪是1500万,而璩静在4月24日注册了一个文化传媒公司,大家都认为璩静是在为离职做准备。但松松我认为不是。 我认为:璩静成立新公司是…...

Element ui input 限制只能输入数字,且只能有两位小数

<el-form-item label"整体进度&#xff1a;" prop"number"> <el-input v-model"formInline.number" input"handleInput" placeholder"百分比" clearable></el-input>% </el-form-item&g…...

吃掉 N 个橘子的最少天数

代码实现&#xff1a; 方法一&#xff1a;递归——超时 #define min(a, b) ((a) > (b) ? (b) : (a))int minDays(int n) {if (n 1 || n 2) {return n;}if (n % 3 0) {if (n % 2 0) {return min(min(minDays(n - 1), minDays(n / 2)), minDays(n - 2 * (n / 3))) 1;} e…...

JavaScript 之 toString()方法详解

一、前言&#xff1a; ​ 在 JavaScript 中&#xff0c;toString() 方法是很多数据类型内置的方法&#xff0c;它被用于将特定的数据类型转换为字符串。但是在不同的数据类型中的作用并非完全相同&#xff0c;下面就来详细讲解一下 toString() 方法在各种数据类型中的使用和作用…...

PPMP_char3

PMPP char3 – Multidimensional grids and data ​ 五一过后&#xff0c;有些工作要赶&#xff0c;抽出时间更新一下。这一章基本都熟练掌握&#xff0c;在做习题过程中有一些思考。这里涉及到了一点点GEMM&#xff08;矩阵乘&#xff09;&#xff0c;GEMM有太多可深挖的了&a…...

VulkanSDK Demos vkcube 编译失败

操作系统: Windows 11 23H2 Vulkan 版本: 1.3.2.280.0 Visual Studio 版本: 2022 在VulkanSDK/Demos目录下存在一个demo solution,其中包含两个project, vkcube和vkcubepp,两个分别为C语言和C写的示例程序, 但是直接编译这两个project时会编译失败,报了以下错误: fatal err…...

(二)Jetpack Compose 布局模型

前文回顾 &#xff08;一&#xff09;Jetpack Compose 从入门到会写-CSDN博客 首先让我们回顾一下上一篇文章中里提到过几个问题&#xff1a; ComposeView的层级关系&#xff0c;互相嵌套存在的问题&#xff1f; 为什么Compose可以实现只测量一次&#xff1f; ComposeView和…...

【Oracle impdp导入dmp文件(windows)】

Oracle impdp导入dmp文件&#xff08;windows&#xff09; 1、连接数据库2、创建与导出的模式相同名称的用户WIRELESS2&#xff0c;并赋予权限3、创建directory 的物理目录f:\radio\dmp&#xff0c;并把.dmp文件放进去4、连接新用户WIRELESS25、创建表空间的物理目录F:\radio\t…...

代数结构:5、格与布尔代数

16.1 偏序与格 偏序集&#xff1a;设P是集合&#xff0c;P上的二元关系“≤”满足以下三个条件&#xff0c;则称“≤”是P上的偏序关系&#xff08;或部分序关系&#xff09; &#xff08;1&#xff09;自反性&#xff1a;a≤a&#xff0c;∀a∈P&#xff1b; &#xff08;2…...

如何使用DEEPL免费翻译PDF

如何使用DEEPL免费翻译PDF 安装DEEPL取消PDF限制 安装DEEPL 安装教程比较多&#xff0c;这里不重复。 把英文pdf拖进去&#xff0c;点翻译&#xff0c;在下面的框中有已经翻译完毕的文档。 但是存在两个问题 问题1&#xff1a;这些文档是加密的。 问题2&#xff1a;带有DeepL标…...

Spring-全面详解

Spring&#xff0c;就像是软件开发界的一个超级英雄&#xff0c;它让编写Java程序变得更简单、更灵活。想象一下&#xff0c;如果你要盖一栋大楼&#xff0c;Spring就是那个提供各种工具、框架和最佳实践的建筑大师&#xff0c;帮助你高效、优雅地搭建起整个项目。 Spring是啥&…...

QT自适应界面 处理高DPI 缩放比界面乱问题

1.pro文件添加 必须添加要不找不到 QT版本需要 5。4 以上才支持 QT widgets 2.main界面提前处理 // 1. 全局缩放使能QApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);// 2. 适配非整数倍缩放QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::High…...

序列到序列模型在语言识别Speech Applications中的应用 Transformer应用于TTS Transformer应用于ASR 端到端RNN

序列到序列模型在语言识别Speech Applications中的应用 A Comparative Study on Transformer vs RNN in Speech Applications 序列到序列(Seq2Seq)模型在语音识别(Speech Applications)中有重要的应用。虽然Seq2Seq模型最初是为了解决自然语言处理中的序列生成问题而设计的…...

【Linux】- Linux环境变量[8]

目录 环境变量 $符号 自行设置环境变量 环境变量 环境变量是操作系统&#xff08;Windows、Linux、Mac&#xff09;在运行的时候&#xff0c;记录的一些关键性信息&#xff0c;用以辅助系统运行。在Linux系统中执行&#xff1a;env命令即可查看当前系统中记录的环境变量。 …...

前端笔记-day04

文章目录 01-后代选择器02-子代选择器03-并集选择器04-交集选择器05-伪类选择器06-拓展-超链接伪类07-CSS特性-继承性08-CSS特性-层叠性09-CSS特性-优先级11-Emmet写法12-背景图13-背景图平铺方式14-背景图位置15-背景图缩放16-背景图固定17-background属性18-显示模式19-显示模…...

计算机字符集产生的历史与乱码

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…...

Rerank进一步提升RAG效果

RAG & Rerank 目前大模型应用中&#xff0c;RAG&#xff08;Retrieval Augmented Generation&#xff0c;检索增强生成&#xff09;是一种在对话&#xff08;QA&#xff09;场景下最主要的应用形式&#xff0c;它主要解决大模型的知识存储和更新问题。 简述RAG without R…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...