快速业务通道

红旗工程师大讲堂:掌握udev

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-11
60-net.rules文件.这些规则文件的文件名通常是两个数字开头,它表示系统应用该规则的顺序.


规则文件里的规则有一系列的键/值对组成,键/值对之间用逗号(,)分割.每一个键或者是用户匹配键,或者是一个赋值键.匹配键确定规则是否被应用,而赋值键表示分配某值给该键.这些值将影响udev创建的设备文 件.赋值键可以处理一个多值列表.匹配键和赋值键操作符解释见下表:


这有点类似我们常见的编程语言,比如C语言.只是这里的键一次可以处理多个值.有一些键在udev规则文件里经常出现,这些键的值可以使用通配符(*,?,甚至范围,比如[0-9]),这些常用键列举如下:


我们给出一个列子来解释如何使用这些键.下面的例子来自Fedora Core 5系统的标准配置文件.

  KERNEL==”*”, OWNER=”root” GROUP=”root”, MODE=”0600″

  KERNEL==”tty”, NAME=”%k”, GROUP=”tty”, MODE=”0666″, OPTIONS=”last_rule”

  KERNEL==”scd[0-9]*”, SYMLINK =”cdrom cdrom-%k”

  KERNEL==”hd[a-z]”, BUS==”ide”, SYSFS{removable}==”1″, SYSFS{device/media}==”cdrom”, SYMLINK =”cdrom cdrom-%k”

  ACTION==”add”, SUBSYSTEM==”scsi_device”, RUN =”/sbin/modprobe sg”


上面的例子给出了5个规则,每一个都是KERNEL或者ACTION键开头:

  ◆第一个规则是缺省的,他匹配任意被内核识别到的设备,然后设定这些设备的属组是root,组是root,访问权限模式是0600(-rw——-).这也是一个安全的缺省设置保证所有的设备在默认情况下只有root可以读写.

  ◆第二个规则也是比较典型的规则了.它匹配终端设备(tty),然后设置新的权限为0600,所在的组是tty.它也设置了一个特别的设备文件名:%K.在这里例子里,%k代表设备的内核名字.那也就意味着内核识别出这些设备是什么名字,就创建什么样的设备文件名.

  ◆第三行开始的KERNEL==”scd[0-9]*”,表示 SCSI CD-ROM 驱动. 它创建一对设备符号连接:cdrom和cdrom-%k.

  ◆第四行,开始的 KERNEL==”hd[a-z]“, 表示ATA CDROM驱动器.这个规则创建和上面的规则相同的符号连接.ATA CDROM驱动器需要sysfs值以来区别别的ATA设备,SCSI CDROM可以被内核唯一识别..

  ◆第五行以 ACTION==”add”开始,它告诉udev增加 /sbin/modprobe sg 到命令列表,当任意SCSI设备增加到系统后,这些命令将执行.其效果就是计算机应该会增加sg内核模块来侦测新的SCSI设备.

  当然,上面仅仅是一小部分例子,如果你的系统采用了udev方式,那你应该可以看到更多的规则.如果你想修改设备的权限或者创建信的符号连接,那么你需要熟读这些规则,特别是要仔细注意你修改的那些与之相关的设备.

  修改你的udev配置

  在修改udev配置之前,我们一定要仔细,通常的考虑是:你最好不要修改系统预置的那些规则,特别不要指定影响非常广泛的配置,比如上面例子中的第一行.不正确的配置可能会导致严重的系统问题或者系统根本就无法这个正确的访问设备.

  而 我们正确的做法应该是在/etc/udev/rules.d/下创建一个信的规则文件.确定你给出的文件的后缀是rules文件名给出的数字序列应该比标 准配置文件高.比如,你可以创建一个名为99-my-udev.rules的规则文件.在你的规则文件中,你可以指定任何你想修改的配置,比如,假设你修 改修改floppy设备的所在组,还准备创建一个信的符号连接/dev/floppy,那你可以这么写:

  KERNEL==”fd[0-9]*”, GROUP=”users”, SYMLINK =”floppy”

  有些发行版本,比如Fedora,采用了外部脚本来修改某些特定设备的属组,组关系和权限.因此上面的改动可能并不见得生效.如果你遇到了这个问题,你就需要跟踪和修改这个脚本来达到你的目的.或者你可以修改PROGRAM或RUN键的值

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号