在某些场景中(比如VirtualBox虚拟机的vm直接访问rawdisk),需要指定rawdisk的owner.

注:这里的rawdisk并非指linux中的raw设备,只是VirtualBox的术语(请参考手册中Advanced storage configuration - Using a raw host hard disk from a guest)


因为lvm的运行是动态的,这意味着不能把chown命令写在/etc/rc.local中,而支持动态设备变化最理想的就是udev.

假设vbox运行用户是salomi,则可以创建以下文件:
/etc/udev/rules.d/99-my-vbox.rules
内容如下:
ENV{DM_NAME}==" vgr1-lvbox*", ACTION=="add|change", MODE="0664", OWNER=" salomi", GROUP=" vboxusers", PROGRAM="/usr/bin/logger /dev/$env{DM_NAME} owner changed to salomi", SYMLINK+=" lvbox-$env{DM_NAME}"
红字部分解释如下:
vgr1-lvbox*  - 格式为[vg_name]-[lv_name], *号可作为通配符
salomi       - VBox虚拟机运行用户名
vboxusers    - Vbox规定必须属于此组用户才能运行虚拟机
lvbox-$env{DM_NAME} - 创建一个新的软连接(ln -s), 并使用指定 规则 命名它


参考文档:
http://serverfault.com/questions/51641/change-owner-of-lvm-lvs-device-node-in-rhel5