Linux下自动格式化插入的U盘和另外两则案例
2011-04-13 22:06
274 查看
U盘能方便我们共享数据,但你是不是有时候害怕别人随便在你的电脑上拷贝私密的数据啊,呵呵。下面我就告诉你一个比较缺德的方法,来防止别人随便用U盘从你的电脑上偷偷的拷贝数据。
使用UDEV机制,让插入的U盘自动格式化。
在/etc/udev/rules.d/目录下,新建一个75-usb.rules的文件,当然,这个文件名中的数字和usb可以换成其他的,但rules这个后缀一定不要变。
内容如下:
BUS=="usb", ACTION=="add", DIRVER=="usb-storage", NAME="xiaosu", RUN="/sbin/mkfs.vfat /dev/xiaosu"
意思就是,如果插入的USB设备是存储设备,就在/dev下建立的节点就叫xiaosu,然后用mkfs.vfat这个命令来格式化它。
效果如下:
我们先前的U盘
把这个配置文件保存之后,U盘拔出再插入:
我们发现U盘里面已经没有任何东西了。
你可能会疑问了:这样不是把所有插入的U盘都给格式化了吗,如果我不想让系统格式化我自己的U盘,而只是格式化别人的U盘呢?
这样好办,我们在这个配置文件中加入一条规则,判断这个设备是不是属于你。
首先将不想被格式化的U盘插入,我已我的8G的U盘为例:
首先把U盘中的数据备份一下,然后将U盘插入,使用mount命令,可以知道我的U盘被识别为了/dev/sdb4,截图如下
现在我探测一下我的U盘的序列号之类的能确保U盘身份唯一性的信息。
使用如下命令:
udevinfo -a -p $(udevinfo -q path -n /dev/sdb) |grep serial
当然,这里的sdb要换成你对应的信息。
截图如下:
这里发现,有两个serial
我们用udevinfo -a -p $(udevinfo -q path -n /dev/sdb) 这个命令,仔细查看信息,发现:
第一个serial对应的是product是USB DISK
截图如下:
第二个serial对应的product是 HOST Controller
截图如下:
我们修改配置文件为:
BUS=="usb", ACTION=="add", DIRVER=="usb-storage", NAME="xiaosu", SYSFS{serial}!="07A71A002345111E", SYSFS{serial}!="0000:00:1d.7", RUN="/sbin/mkfs.ext3"
这一行的意思就是:
如果插入了USB的存储设备,先把建立的节点重命名为xiaosu,然后检测一下这个设备的序列号,如果不等于这两个,就格式化它。
这两个serial都要用到!少一个都不行,。并且需要注意的是,这里的序列号要改成你的U盘的序列好。
说实话,这样做确实有些缺德。。。。。并且,这样做对系统还有一定的风险,比如说哪一天,你拿着一个其他人的有重要数据的U盘,一不小心给忘记了,就插入了,然后就悲剧了。。。。。。。。
现在我们修改一下这个配置文件,不要格式化别人的U盘了,我们只是让系统不挂载它就是了。这样,别人插入U盘之后,发现系统一直没有反应,就会怀疑是USB接口损坏或者其他原因,就作罢了。
我们把配置文件修改为:
BUS=="usb", ACTION=="add", DIRVER=="usb-storage", NAME="xiaosu", SYSFS{serial}!="07A71A002345111E", SYSFS{serial}!="0000:00:1d.7", RUN="/bin/rm -f /dev/xiaosu"
也就是把最后面的RUN命令改为/bin/rm -f /dev/xiaosu
这样。系统就会删除这个节点,更谈不上挂载了。。。。。
经过我测试,系统目前只能“识别”我的这个8G的U盘,其他都已经“识别”不了了。
更多的操作,可以通过man udev来研究它的规则,然后就是发挥你的想象力,进行无穷的创造了。。。。。。。
最后再说一下系统识别设备的步骤:
1.内核发现设备,然后将探测到的系统的各种信息传递给sysfs
2.系统会把这个设备的这个事件给udev传递个提示消息
3.udev会在/dev下创建这个设备的节点,然后根据rules文件的设置执行相应的指令
4.udev会通过一个接口给HAL发送一个提醒
使用UDEV机制,让插入的U盘自动格式化。
在/etc/udev/rules.d/目录下,新建一个75-usb.rules的文件,当然,这个文件名中的数字和usb可以换成其他的,但rules这个后缀一定不要变。
内容如下:
BUS=="usb", ACTION=="add", DIRVER=="usb-storage", NAME="xiaosu", RUN="/sbin/mkfs.vfat /dev/xiaosu"
意思就是,如果插入的USB设备是存储设备,就在/dev下建立的节点就叫xiaosu,然后用mkfs.vfat这个命令来格式化它。
效果如下:
我们先前的U盘
把这个配置文件保存之后,U盘拔出再插入:
我们发现U盘里面已经没有任何东西了。
你可能会疑问了:这样不是把所有插入的U盘都给格式化了吗,如果我不想让系统格式化我自己的U盘,而只是格式化别人的U盘呢?
这样好办,我们在这个配置文件中加入一条规则,判断这个设备是不是属于你。
首先将不想被格式化的U盘插入,我已我的8G的U盘为例:
首先把U盘中的数据备份一下,然后将U盘插入,使用mount命令,可以知道我的U盘被识别为了/dev/sdb4,截图如下
现在我探测一下我的U盘的序列号之类的能确保U盘身份唯一性的信息。
使用如下命令:
udevinfo -a -p $(udevinfo -q path -n /dev/sdb) |grep serial
当然,这里的sdb要换成你对应的信息。
截图如下:
这里发现,有两个serial
我们用udevinfo -a -p $(udevinfo -q path -n /dev/sdb) 这个命令,仔细查看信息,发现:
第一个serial对应的是product是USB DISK
截图如下:
第二个serial对应的product是 HOST Controller
截图如下:
我们修改配置文件为:
BUS=="usb", ACTION=="add", DIRVER=="usb-storage", NAME="xiaosu", SYSFS{serial}!="07A71A002345111E", SYSFS{serial}!="0000:00:1d.7", RUN="/sbin/mkfs.ext3"
这一行的意思就是:
如果插入了USB的存储设备,先把建立的节点重命名为xiaosu,然后检测一下这个设备的序列号,如果不等于这两个,就格式化它。
这两个serial都要用到!少一个都不行,。并且需要注意的是,这里的序列号要改成你的U盘的序列好。
说实话,这样做确实有些缺德。。。。。并且,这样做对系统还有一定的风险,比如说哪一天,你拿着一个其他人的有重要数据的U盘,一不小心给忘记了,就插入了,然后就悲剧了。。。。。。。。
现在我们修改一下这个配置文件,不要格式化别人的U盘了,我们只是让系统不挂载它就是了。这样,别人插入U盘之后,发现系统一直没有反应,就会怀疑是USB接口损坏或者其他原因,就作罢了。
我们把配置文件修改为:
BUS=="usb", ACTION=="add", DIRVER=="usb-storage", NAME="xiaosu", SYSFS{serial}!="07A71A002345111E", SYSFS{serial}!="0000:00:1d.7", RUN="/bin/rm -f /dev/xiaosu"
也就是把最后面的RUN命令改为/bin/rm -f /dev/xiaosu
这样。系统就会删除这个节点,更谈不上挂载了。。。。。
经过我测试,系统目前只能“识别”我的这个8G的U盘,其他都已经“识别”不了了。
更多的操作,可以通过man udev来研究它的规则,然后就是发挥你的想象力,进行无穷的创造了。。。。。。。
最后再说一下系统识别设备的步骤:
1.内核发现设备,然后将探测到的系统的各种信息传递给sysfs
2.系统会把这个设备的这个事件给udev传递个提示消息
3.udev会在/dev下创建这个设备的节点,然后根据rules文件的设置执行相应的指令
4.udev会通过一个接口给HAL发送一个提醒
相关文章推荐
- linux系统 插入u盘没有自动将u盘挂载到/media下
- linux arm上实现插入U盘自动运行的设计
- linux电脑插入U盘自动挂载而不自动打开
- linux下插入U盘自动挂载后,用C获取其挂载点(cat /proc/mounts)
- Delphi 自动检测U盘插入、拔出及获取U盘盘符!
- 纯linux下自动挂载u盘
- linux下实现U盘和sd卡的自动挂载
- 脚本实现U盘自动挂载(linux)
- Linux下实现U盘自动检测
- 1、自动卸载分区格式化脚本--创建小型linux
- linux下插入USB设备使用脚本实现自动挂载
- Linux中U盘的挂载、卸载、格式化
- SQL Prompt 格式化SQL会自动插入分号的问题
- Linux使用技巧5--格式化U盘
- linux下检测U盘插入并读取文件
- Linux 格式化U盘为ext4格式以及修复分区表方法
- 移动硬盘u盘在linux下分区、格式化及普通用户访问权限
- Linux添加新硬盘、分区、格式化、自动挂载
- 如何用LINUX命令格式化U盘
- [导入]自己添加的一专业功能:插入法规,可自动格式化你所输入的法规!