我正在使用 Ubuntu 10.04 LTS - Lucid Lynx。我需要为挂载的任何 USB 记忆棒文件/目录设置特定组和权限。我尝试过覆盖 udev 规则。以下是我所做的:
99-test.rules
在目录下创建/etc/udev/rules.d/
内容为SUBSYSTEMS=="usb",GROUP="tomcat6",MODE="0777",NAME="test"
sudo service udev restart
现在,当我安装 USB 驱动器并运行时sudo blkid
,它会打印
/dev/test: UUID="002A-0AA5" TYPE="vfat"
但ls -l /media/
回报
drwx------ 4 admin admin 8192 1969-12-31 16:00 002A-0AA5
似乎上述规则99-test.rules
正在应用,但之后被覆盖,从而将组和权限更改回某个默认值。我在这里遗漏了什么?我还需要更改其他内容吗?
答案1
这对我有用:
子系统=="usb",内核=="sd?1",组="adm",模式="0777",SYMLINK+="test"
我不知道为什么,但是 ACTION== 完全阻止了规则起作用。
内核规则对于避免棒和棒的分区之间的冲突是必要的,我怀疑这是您所看到的问题。
符号链接是为了消除有关内核设备名称和规则设备名称之间冲突的错误消息。您将获得一个具有指向 /dev/sdb1 的符号链接的 /dev/test,或类似的东西。
在 12.04 上测试规则时无需重新启动 udev。错误消息记录在 /var/log/syslog 中,因此我tail -f /var/log/syslog
在安装 USB 驱动器时使用它来观察它们。
您可能希望添加更多测试,这样您就可以将规则限制到您希望 /dev/test 映射到的驱动器,以防您可能同时插入相机或其他设备以及记忆棒。
答案2
尝试添加ACTION=="add"
该规则的触发器。
答案3
如果其他人遇到此问题,请使用:=
“:=”
最后为键分配一个值;不允许任何后续更改。
在版本 247 中添加。
SUBSYSTEMS=="usb",GROUP:="tomcat6",MODE="0777",NAME="test"