linux系统之如何禁用usb口

 更新时间:2023年06月01日 10:59:57   作者:灬紫荆灬  
这篇文章主要介绍了linux系统之如何禁用usb口问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

linux系统禁用usb口

为了保护数据不被泄漏,我们使用软件和硬件防火墙来限制外部未经授权的访问,但是数据泄露也可能发生在内部。

为了消除这种可能性,机构会限制和监测访问互联网,同时禁用 USB 存储设备。

在本教程中,我们将讨论三种不同的方法来禁用 Linux 机器上的 USB 存储设备。

所有这三种方法都在 CentOS 6&7 机器上通过测试。那么让我们一一讨论这三种方法。

方法 1 – 伪安装

在本方法中,我们往配置文件中添加一行 install usb-storage /bin/true, 这会让安装 usb-storage 模块的操作实际上变成运行 /bin/true, 这也是为什么这种方法叫做伪安装的原因。

具体来说就是,在文件夹 /etc/modprobe.d 中创建并打开一个名为 block_usb.conf (也可能叫其他名字) ,

$ sudo vim /etc/modprobe.d/block_usb.conf

然后将下行内容添加进去:

install usb-storage /bin/true

最后保存文件并退出。

方法 2 – 删除 USB 驱动

这种方法要求我们将 USB 存储的驱动程序(usb_storage.ko)删掉或者移走,从而达到无法再访问 USB 存储设备的目的。 执行下面命令可以将驱动从它默认的位置移走:

$ sudo mv /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko /home/user1

现在在默认的位置上无法再找到驱动程序了,因此当 USB 存储器连接到系统上时也就无法加载到驱动程序了,从而导致磁盘不可用。

但是这个方法有一个小问题,那就是当系统内核更新的时候,usb-storage 模块会再次出现在它的默认位置。

方法 3 - 将 USB 存储器纳入黑名单

我们也可以通过 /etc/modprobe.d/blacklist.conf 文件将 usb-storage 纳入黑名单。

这个文件在 RHEL/CentOS 6 是现成就有的,但在 7 上可能需要自己创建。

要将 USB 存储列入黑名单,请使用 vim 打开/创建上述文件:

$ sudo vim /etc/modprobe.d/blacklist.conf

并输入以下行将 USB 纳入黑名单:

blacklist usb-storage

保存文件并退出。usb-storage 就在就会被系统阻止加载,但这种方法有一个很大的缺点,即任何特权用户都可以通过执行以下命令来加载 usb-storage 模块,

$ sudo modprobe usb-storage

这个问题使得这个方法不是那么理想,但是对于非特权用户来说,这个方法效果很好。

linux USB 权限问题

查看usb的权限

USB2出现权限问题,

有一下解决方法:

1.单次有效

sudo chmod 777 /dev/ttyUSB2

这样会给ttyUSB2写入和读取的权限。但是这种方法是一次性的,重新连接或重启,还会出现报错。

2.永久方法 - 1

在/etc/udev/rules.d/ 创建my-newrule.rules

sudo vim  my-newrule.rules

添加下面的文本:

    #add the following
	    KERNEL=="ttyUSB0", MODE="777"
	    KERNEL=="ttyUSB1", MODE="777"
	    KERNEL=="ttyUSB2", MODE="777"

保存文本,執行下面文件。

sudo service udev reload
sudo service udev restart

重新插上USB,执行试试。

3.永久方法 - 2

 

因为默认情况下,只有root用户和属于dialout组的用户会有读写权限,因此直接把自己的用户加入到dialout组就可以了。

操作完命令后要logout一下,就永久生效了。或者USB拔掉,重新插上。  

以后每次连接,都可以直接对设备进行管理,不用做任何操作了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vscode远程连接Ubuntu出错问题的解决方法

    Vscode远程连接Ubuntu出错问题的解决方法

    这篇文章主要给大家介绍了关于Vscode远程连接Ubuntu出错问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 判断CC攻击 netstat命令详解

    判断CC攻击 netstat命令详解

    判断CC攻击 netstat命令详解,快速找出有问题的ip。
    2010-12-12
  • Linux下Nginx安装的方法(pcre和openssl)

    Linux下Nginx安装的方法(pcre和openssl)

    本篇文章主要介绍了Linux下Nginx安装的方法(pcre和openssl),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 使用squid搭建http和https的代理服务器设置指南

    使用squid搭建http和https的代理服务器设置指南

    今天小编就为大家分享一篇关于使用squid搭建http和https的代理服务器设置指南,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 改版时保留原链接,创建新的URL的方法

    改版时保留原链接,创建新的URL的方法

    本功能的Alias指令在 httpd.conf中是这一句: #Alias /webpath /full/filesystem/path 去掉前面的#,并做下相应的修改即可。
    2008-09-09
  • linux磁盘顺序写、随机写的方法

    linux磁盘顺序写、随机写的方法

    这篇文章主要介绍了linux磁盘顺序写、随机写的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • Apache实现本地建立泛域名虚拟主机的方法

    Apache实现本地建立泛域名虚拟主机的方法

    这篇文章主要介绍了Apache实现本地建立泛域名虚拟主机的方法,简单介绍了Apache泛域名虚拟主机的具体创建步骤与相关技巧,需要的朋友可以参考下
    2016-05-05
  • linux curl命令详解及实例分享

    linux curl命令详解及实例分享

    curl命令使用了libcurl库来实现,libcurl库常用在C程序中用来处理HTTP请求,curlpp是libcurl的一个C++封装,这几个东西可以用在抓取网页、网络监控等方面的开发,而curl命令可以帮助来解决开发过程中遇到的问题。
    2014-08-08
  • Linux添加swap分区的方法

    Linux添加swap分区的方法

    这篇文章主要介绍了Linux添加swap分区的方法,首先需要我们建立一个普通的linux 分区,具体实例代码,大家跟随脚本之家小编一起看看吧
    2018-08-08
  • Linux出现sql密码被忘记的解决方法

    Linux出现sql密码被忘记的解决方法

    我们在Linux系统中使用Mysql数据库时,有时会将密码忘记,无法进行登陆,所以本文小编给大家大家介绍了Linux出现sql密码被忘记的解决方法,文中通过图文讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-08-08

最新评论