[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: