2017-12-09 13:03:20 +08:00
|
|
|
|
Linux 上如何禁用 USB 存储
|
2017-12-08 14:48:26 +08:00
|
|
|
|
======
|
2017-12-09 13:03:20 +08:00
|
|
|
|
为了保护数据不被泄漏,我们使用软件和硬件防火墙来限制外部未经授权的访问,但是数据泄露也可能发生在内部。 为了消除这种可能性,机构会限制和监测访问互联网,同时禁用 USB 存储设备。
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
在本教程中,我们将讨论三种不同的方法来禁用 Linux 机器上的 USB 存储设备。所有这三种方法都在 CentOS 6&7 机器上通过测试。那么让我们一一讨论这三种方法,
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
( 另请阅读: [Ultimate guide to securing SSH sessions][1] )
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
### 方法 1 – 伪安装
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
在本方法中,我们往配置文件中添加一行 `install usb-storage /bin/true`, 这会让安装 usb-storage 模块的操作实际上变成运行 `/bin/true`, 这也是为什么这种方法叫做`伪安装`的原因。 具体来说就是, 在文件夹 `/etc/modprobe.d` 中创建并打开一个名为 `block_usb.conf` (也可能教其他名字) ,
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
```shell
|
2017-12-08 14:48:26 +08:00
|
|
|
|
$ sudo vim /etc/modprobe.d/block_usb.conf
|
2017-12-09 13:03:20 +08:00
|
|
|
|
```
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
然后将下行内容添加进去,
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
```shell
|
2017-12-08 14:48:26 +08:00
|
|
|
|
install usb-storage /bin/true
|
2017-12-09 13:03:20 +08:00
|
|
|
|
```
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
最后保存文件并退出。
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
### 方法 2 – 删除 UBS 驱动
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
这种方法要求我们将 usb 存储的驱动程序(usb_storage.ko)删掉或者移走,从而达到无法再访问 usb 存储设备的目的。 执行下面命令可以将驱动从它默认的位置移走, execute the following command,
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
```shell
|
2017-12-08 14:48:26 +08:00
|
|
|
|
$ sudo mv /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko /home/user1
|
2017-12-09 13:03:20 +08:00
|
|
|
|
```
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
现在在默认的位置上无法再找到驱动程序了,因此当 USB 存储器连接道系统上时也就无法加载到驱动程序了,从而导致磁盘不可用。 但是这个方法有一个小问题,那就是当系统内核更新的时候,usb-storage 模块会再次出现在它的默认位置。
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
### 方法 3- 将 USB-storage 纳入黑名单
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
我们也可以通过 `/etc/modprobe.d/blacklist.conf` 文件将 usb-storage 纳入黑名单。这个文件在 RHEL/CentOS 6 是现成就有的,但在 7 上可能需要自己创建。 要将 usb 存储列入黑名单,请使用 vim 打开/创建上述文件,
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
```shell
|
2017-12-08 14:48:26 +08:00
|
|
|
|
$ sudo vim /etc/modprobe.d/blacklist.conf
|
2017-12-09 13:03:20 +08:00
|
|
|
|
```
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
并输入以下行将 USB 纳入黑名单,
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
```
|
2017-12-08 14:48:26 +08:00
|
|
|
|
blacklist usb-storage
|
2017-12-09 13:03:20 +08:00
|
|
|
|
```
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
保存文件并退出。`usb-storage` 就在就会被系统阻止加载,但这种方法有一个很大的缺点,即任何特权用户都可以通过执行以下命令来加载 `usb-storage` 模块,
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
```shell
|
2017-12-08 14:48:26 +08:00
|
|
|
|
$ sudo modprobe usb-storage
|
2017-12-09 13:03:20 +08:00
|
|
|
|
```
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
这个问题使得这个方法不是那么理想,但是对于非特权用户来说,这个方法效果很好。
|
|
|
|
|
|
|
|
|
|
在更改完成后重新启动系统,以使更改生效。请尝试用这些方法来禁用 USB 存储,如果您遇到任何问题或有什么问题,请告知我们。
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
via: http://linuxtechlab.com/disable-usb-storage-linux/
|
|
|
|
|
|
|
|
|
|
作者:[Shusain][a]
|
|
|
|
|
译者:[lujun9972](https://github.com/lujun9972)
|
|
|
|
|
校对:[校对者ID](https://github.com/校对者ID)
|
|
|
|
|
|
2017-12-09 13:03:20 +08:00
|
|
|
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject)原创编译,[Linux 中国](https://linux.cn/)荣誉推出
|
2017-12-08 14:48:26 +08:00
|
|
|
|
|
|
|
|
|
[a]:http://linuxtechlab.com/author/shsuain/
|
|
|
|
|
[1]:http://linuxtechlab.com/ultimate-guide-to-securing-ssh-sessions/
|