squeeze, nvidia-kernel-common, udev-acl, consolekit => security?
Привет, рассылка. Что-то не могу сообразить одну вещь.
В пакете nvidia-kernel-common есть такое правило для udev:
# Set ACLs for console users on /dev/nvidia*
# This is necessary until the driver uses some other form of auth
ENV{ACL_MANAGE}=="0", GOTO="nvidia_end"
DRIVER=="nvidia",ENV{NVIDIA_DEVICE}="1"
ENV{NVIDIA_DEVICE}=="0", GOTO="nvidia_end"
ENV{ACL_MANAGE}="1"
[...ну дальше понятно...]
Интересно, что проверка ENV{NVIDIA_DEVICE}=="0", естественно, возвращает
false _всегда_ (никто его в ноль не ставит). Очевидно, имелось в виду
!="1", да так и не поимелось. Но самое забавное, что наличие этого
правила (при установленном consolekit и при acl-enabled udev) дарит
залогиненным пользователям +rw на все устройства подряд. К примеру,
$ getfacl /dev/sda
getfacl: Removing leading '/' from absolute path names
# file: dev/mapper/desktop--ng-root
# owner: root
# group: disk
user::rw-
user:anton:rw-
^^^^^^^^^^^^^^^ я, конечно, польщён доверием, но вообще-то это сюрприз.
group::rw-
mask::rw-
other::---
Правило это (/lib/udev/rules.d/60-nvidia-kernel-common.rules) лежит в
nvidia-kernel-common, родном дебиановском пакете из contrib.
Так вот, сообразить я не могу вот что: правильно ли я понял, что это
повод для баг-репорта? И случайно не уровня critical, а? (возможно,
считается, что "кто за консолью сидит, всё равно может открыть корпус и
вытащить /dev/sda, ну или кофе на него пролить". Но ведь раньше не
считалось?)
И ещё хотелось бы знать (но уже из чистого любопытства): мне понаставили
этих acl'ей на всё подряд; я поправил на !="1", setfacl -R -d, udevadm
trigger, перелогинился - с обычных дисков флаг ACL_MANAGE исчез, а вот
на томах LVM остался. Похоже, куда-то он ещё сохранился. Откуда бы его
выпилить без перезагрузки?
--
Regards, Anton Kovalenko
+7(916)345-34-02 | Elektrostal' MO, Russia
Reply to: