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方法则更为简单,但它不提供基于设备属性的挂载控制。根据您的具体需求选择适当的方法。

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

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

相关文章

力扣热题100刷题笔记[python]

letcode100 题录地址: https://leetcode.cn/studyplan/top-100-liked/ 注:另外有记忆精简版 [LeetCode热题100_记忆版.md](file:///D:/yingl/文件/notes_-yl/技术精品文章/编程基本功/算法资料汇总/LeetCode热题100_记忆版.md) 哈希 两数之和 思路: 0、用 hash_table =…

LLMs之GPT4ALL:GPT4ALL的简介、安装和使用方法、案例应用之详细攻略

LLMs之GPT4ALL:GPT4ALL的简介、安装和使用方法、案例应用之详细攻略 目录 GPT4ALL的简介 0、新功能 1、特点 2、功能 3、技术报告 GPT4ALL的安装和使用方法 1、安装 2、使用方法 GPT4ALL的案例应用 LLMs之LLaMA3:基于GPT4ALL框架对LLaMA-3实现…

【DeepLearning.AI】吴恩达系列课程——使用ChatGPT API构建系统(持续更新中——)

目录 前言一、Language Models, the Chat Format and Tokens(LLM,交互形式)1-1、加载api-key1-2、使用辅助函数(即指令调整LLM)1-2、使用辅助函数(聊天格式)1-3、辅助函数修改(输出字…

Python中的多线程与多进程编程:深入解析与应用

Python中的多线程与多进程编程:深入解析与应用 一、引言 在Python编程中,多线程和多进程是实现并发执行的重要手段。随着计算需求的日益增长,单线程或单进程模型往往难以满足实时响应、高效利用多核CPU等要求。因此,了解并掌握P…

安卓SELinux策略

SELinux策略语言–类型强制(编写TE规则) selinux权限说明及问题解决 Selinux篇3 -TE规则 Android中SeLinux权限 .te文件编写 Android 系统添加SELinux权限 [SeLinux]audit2allow安装与使用 SELinux规则添加进阶

文件各种上传,离不开的表单 [html5]

作为程序员的我们,经常会要用到文件的上传和下载功能。到了需要用的时候,各种查资料。有木有..有木有...。为了方便下次使用,这里来做个总结和备忘。 利用表单实现文件上传 最原始、最简单、最粗暴的文件上传。 前端代码: //方…

LeetCode力扣题目111:多种算法对比实现二叉树的最小深度

作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 欢迎加入社区:码上找工作 作者专栏每日更新: LeetCode解锁1000题: 打怪升级之旅 python数据分析…

WPF 图片显示某一部分区域

效果图&#xff1a; 代码&#xff1a; <Image Width"32"HorizontalAlignment"Right"Height"32"Source"../../Resources/Images/BLUEWOLF.jpg"><Image.Clip><PathGeometry><PathFigure StartPoint"32,32&quo…

苍穹外卖项目---------收获以及改进(5-6天)

①HttpClient 核心作用&#xff1a;在java编码中发送http请求 第一步&#xff1a;引入依赖 第二步&#xff1a;使用封装一个工具类 package com.sky.utils;import com.alibaba.fastjson.JSONObject; import org.apache.http.NameValuePair; import org.apache.http.client.co…

Scrapy框架快速入门指南

Scrapy框架快速入门指南 在数据驱动的世界中&#xff0c;快速而高效地抓取数据变得尤为重要。Scrapy是一个快速、简单但功能强大的爬虫框架&#xff0c;能够满足数据抓取的各种需求。今天&#xff0c;我们将快速入门Scrapy&#xff0c;了解如何使用它抓取和提取数据。 目录 …

【北京迅为】《iTOP-3588开发板源码编译手册》-第4章 Android12/Linux设备树简介

RK3588是一款低功耗、高性能的处理器&#xff0c;适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用&#xff0c;RK3588支持8K视频编解码&#xff0c;内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

Docker 容器连接:构建安全高效的容器化网络生态

Docker容器连接详解 在 Docker 中&#xff0c;容器之间可以通过网络连接来实现通信和交互。下面详细解释了 Docker 容器连接的常用命令、示例、应用场景、注意事项以及总结&#xff1a; 常用命令 创建网络&#xff08;create network&#xff09;&#xff1a;使用 docker net…

微信小程序03: 获取不限制的小程序二维码

全文目录,一步到位 1.前言简介1.1 专栏传送门1.1.1 上文小总结1.1.2 上文传送门 2. 获取不限制二维码操作2.1 准备工作2.1.1 请先复制00篇的统一封装代码2.1.2 修改配置文件中的参数 2.2 具体代码使用与注释如下2.2.1 业务代码如下2.2.2 代码解释(一)[无需复制]2.2.3 创建Base6…

html--瀑布效果

<!doctype html> <html> <head> <meta charset"utf-8"> <title>瀑布效果</title><style> body {background: #222;color: white;overflow:hidden; }#container {box-shadow: inset 0 1px 0 #444, 0 -1px 0 #000;height: 1…

Sakura编辑器

1、sakura左右上下分屏不让联动设置

Java中Maven的依赖管理

依赖介绍 是指当前项目运行所需要的jar包&#xff0c;一个项目中可以引入多个依赖 配置 在pom.xml中编写<dependencies>标签 在<dependencies>中使用<dependency>引入标签 定义坐标的groupId、rtifactId、version 点击刷新按钮、引入新坐标 例如引入下…

You Only Look at Once for Real-Time and Generic Multi-Task

摘要 高精度、轻量级和实时响应是实现自动驾驶的三个基本要求。在这项研究中&#xff0c;我们介绍了一个自适应、实时和轻量级的多任务模型&#xff0c;旨在同时解决目标检测、可行驶区域分割和车道线分割任务。具体来说&#xff0c;我们开发了一个具有统一和精简的分割结构的…

从零开始:搭建PXE远程批量安装服务器

在大规模服务器部署时&#xff0c;面对成百上千台服务器&#xff0c;通过手动插入光盘或者USE驱动器来安装操作系统无比繁琐&#xff0c;让大量工程师在现场挨个安装系统也不切实际&#xff0c;PXE的出现使得网络远程批量自动安装和配置操作系统成为现实。 什么是PXE&#xff1…

nginx模型设计和进程讲解

一. Nginx进程模型解析 1. master主进程 和 worker工作进程 [rootlocalhost sbin]# ps -ef|grep nginx root 15411 1 0 21:08 ? 00:00:00 nginx: master process ./nginx nobody 15412 15411 0 21:08 ? 00:00:00 nginx: worker process root…

YzmCMS 7.0任意函数调用RCE 漏洞研究分析

YzmCMS是一款基于YZMPHP开发的一套轻量级开源内容管理系统,YzmCMS简洁、安全、开源、免费,可运行在Linux、Windows、MacOSX、Solaris等各种平台上,专注为公司企业、个人站长快速建站提供解决方案。 YzmCMS 某些接口调用了 db_pdo类的where方法 导致了远程命令执行漏洞&#xf…