mirror of
https://github.com/systemd/systemd.git
synced 2024-11-04 22:21:55 +03:00
5a664ca10f
Kernel default mode is 0600, but distributions change it to group kvm, mode either 0660 (e.g. Debian) or 0666 (e.g. Fedora). Both approaches have valid reasons (a stricter mode limits exposure to bugs in the kvm subsystem, a looser mode makes libvirt and other virtualization mechanisms work out of the box for unprivileged users over ssh). In Fedora the qemu package carries the relevant rule, but it's nicer to have it in systemd, so that the permissions are not dependent on the qemu package being installed. Use of packaged qemu binaries is not required to make use of /dev/kvm, e.g. it's possible to use a self-compiled qemu or some alternative. https://bugzilla.redhat.com/show_bug.cgi?id=1431876 To accomodate both approaches, add a rule to set the mode in 50-udev-default.rules, but allow the mode to be overridden with a --with-dev-kvm-mode configure rule. The default is 0660, as the (slightly) more secure option.
82 lines
3.4 KiB
Plaintext
82 lines
3.4 KiB
Plaintext
# do not edit this file, it will be overwritten on update
|
|
|
|
# run a command on remove events
|
|
ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
|
|
ACTION=="remove", GOTO="default_end"
|
|
|
|
SUBSYSTEM=="virtio-ports", KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"
|
|
|
|
# select "system RTC" or just use the first one
|
|
SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc"
|
|
SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"
|
|
|
|
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb"
|
|
SUBSYSTEM=="input", ENV{ID_INPUT}=="", IMPORT{builtin}="input_id"
|
|
ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}"
|
|
|
|
ACTION!="add", GOTO="default_end"
|
|
|
|
SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666"
|
|
SUBSYSTEM=="tty", KERNEL=="tty", GROUP="tty", MODE="0666"
|
|
SUBSYSTEM=="tty", KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620"
|
|
SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620"
|
|
SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620"
|
|
SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620"
|
|
SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
|
|
KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
|
|
|
|
SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"
|
|
|
|
SUBSYSTEM=="input", GROUP="input"
|
|
SUBSYSTEM=="input", KERNEL=="js[0-9]*", MODE="0664"
|
|
|
|
SUBSYSTEM=="video4linux", GROUP="video"
|
|
SUBSYSTEM=="graphics", GROUP="video"
|
|
SUBSYSTEM=="drm", GROUP="video"
|
|
SUBSYSTEM=="dvb", GROUP="video"
|
|
|
|
SUBSYSTEM=="sound", GROUP="audio", \
|
|
OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer"
|
|
|
|
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
|
|
|
|
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*", GROUP="video"
|
|
SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", GROUP="video"
|
|
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video"
|
|
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", GROUP="video"
|
|
|
|
KERNEL=="parport[0-9]*", GROUP="lp"
|
|
SUBSYSTEM=="printer", KERNEL=="lp*", GROUP="lp"
|
|
SUBSYSTEM=="ppdev", GROUP="lp"
|
|
KERNEL=="lp[0-9]*", GROUP="lp"
|
|
KERNEL=="irlpt[0-9]*", GROUP="lp"
|
|
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp"
|
|
|
|
SUBSYSTEM=="block", GROUP="disk"
|
|
SUBSYSTEM=="block", KERNEL=="sr[0-9]*", GROUP="cdrom"
|
|
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
|
|
KERNEL=="sch[0-9]*", GROUP="cdrom"
|
|
KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
|
|
KERNEL=="pktcdvd", GROUP="cdrom"
|
|
|
|
SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"
|
|
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk"
|
|
KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
|
|
KERNEL=="loop-control", GROUP="disk", OPTIONS+="static_node=loop-control"
|
|
KERNEL=="btrfs-control", GROUP="disk"
|
|
KERNEL=="rawctl", GROUP="disk"
|
|
SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", GROUP="disk"
|
|
SUBSYSTEM=="aoe", GROUP="disk", MODE="0220"
|
|
SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
|
|
|
|
KERNEL=="rfkill", MODE="0664"
|
|
KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun"
|
|
|
|
KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse"
|
|
|
|
KERNEL=="kvm", GROUP="kvm", MODE="@DEV_KVM_MODE@"
|
|
|
|
SUBSYSTEM=="ptp", ATTR{clock_name}=="KVM virtual PTP", SYMLINK += "ptp_kvm"
|
|
|
|
LABEL="default_end"
|