Bug 9871 - Отсуствуют некоторые группы, котрые udev пытается прсивоить устройствам
: Отсуствуют некоторые группы, котрые udev пытается прсивоить устройствам
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/udev)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2006-08-13 18:54 by
Modified: 2006-09-02 21:08 (History)


Attachments
комментирует несуществующие группы в 70-permissions.rules (2.83 KB, patch)
2006-08-14 10:04, stalker
no flags Details | Diff
несущесвующие группы в 50-udev-default.rules (2.11 KB, patch)
2006-08-14 10:05, stalker
no flags Details | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2006-08-13 18:54:24
> > Sergey Vlasov пишет:
> > 
>> > > Вероятно, где-то в правилах (/etc/udev/rules.d/*.rules) используются
>> > > пользователи или группы, отсутствующие в локальных файлах passwd и
>> > > group.
....
$ grep tss /etc/udev/rules.d/70-permissions.rules
KERNEL=="tpm*",         MODE="0600", OWNER="tss", GROUP="tss"

http://bugs.gentoo.org/show_bug.cgi?id=99564 в чистом виде.

Также отсутствуют группы tape, video, rdma, nvram; группа scanner,
скорее всего, появляется слишком поздно.
------- Comment #1 From 2006-08-14 10:04:17 -------
Created an attachment (id=1576) [details]
комментирует несуществующие группы в 70-permissions.rules
------- Comment #2 From 2006-08-14 10:05:39 -------
Created an attachment (id=1577) [details]
Комментир
------- Comment #3 From 2006-08-14 10:07:22 -------
Пока не решено кто должен эти группы создавать -просто заккоментируйте их в 
правилах для udev. соотвествующие diff приложены.
------- Comment #4 From 2006-08-14 11:42:14 -------
есть ещё 1 несущесвующая группа, которую idev пытается искать во всех доступных
местах. эта группа в правилах не фгурирует,но udevd, так как не может
приконектиться к ldap не может развернуть /dev. Хотя эта группа не является для
него обязательной - nogroup.

В общем вот список групп которых не хватает udevd (возможно ещё всплывут):
tape
video
rdma
nvram
scanner
fuse
nogroup
------- Comment #5 From 2006-08-15 19:40:19 -------
Группа nogroup прибита гвоздями в исходниках vol_id (там после открытия
устройства привилегии сбрасываются на nobody:nogroup).  У нас группы nogroup
нет, но зато есть группа nobody.
------- Comment #6 From 2006-08-15 19:49:41 -------
(In reply to comment #4)
> tape
> video
> rdma
> nvram

Пока не знаю, что делать с этим.

> scanner

70-permissions.rules:BUS=="scsi", SYSFS{type}=="3", SYSFS{vendor}=="HP",
GROUP="scanner"
70-permissions.rules:BUS=="scsi", SYSFS{type}=="6",     GROUP="scanner"

Вероятно, эти правила необходимо перенести в пакет libsane, где и создаётся
группа scanner.

> fuse

40-fuse.rules:KERNEL="fuse", NAME="%k", MODE="0666"
70-permissions.rules:KERNEL=="fuse",            GROUP="fuse"

Таким образом, правило в пакете udev (70-permissions.rules) можно просто
выбросить - всё равно без пакета fuse файл устройства /dev/fuse бесполезен, а
после установки этого пакета файл доступен всем, и задавать группу смысла нет.
------- Comment #7 From 2006-08-16 10:23:33 -------
(In reply to comment #5)
> Группа nogroup прибита гвоздями в исходниках vol_id (там после открытия
> устройства привилегии сбрасываются на nobody:nogroup).  У нас группы nogroup
> нет, но зато есть группа nobody.

Хм...найти где оно прибито в исходниках и перебить на nobody?
------- Comment #8 From 2006-08-16 22:28:21 -------
В Mandriva эту проблему обошли путём использования в udev встроенного кода для
поиска пользователей и групп непосредственно в файлах /etc/passwd и /etc/group
-
т.е., nsswitch.conf полностью игнорируется.
------- Comment #9 From 2006-08-16 23:02:41 -------
(In reply to comment #8)
> В Mandriva эту проблему обошли путём использования в udev встроенного кода для
> поиска пользователей и групп непосредственно в файлах /etc/passwd и /etc/group -
> т.е., nsswitch.conf полностью игнорируется.

Думаю в данном случае это самый приемлимый вариант. Каким образом включается
этот механизм?
------- Comment #10 From 2006-08-16 23:15:43 -------
(In reply to comment #9)
> Думаю в данном случае это самый приемлимый вариант. Каким образом включается
> этот механизм?

Там запатчили udev_libc_wrapper.c, чтобы __OWN_USERDB_PARSER__ определялся всегда.
------- Comment #11 From 2006-08-17 20:05:46 -------
Предлагается следующее решение:

- Правило для fuse удаляется из пакета udev (сейчас оно всё равно не работает;
работающее правило будет в пакете fuse после исправления в нём bug #9874).

- Правило для /dev/tpm* (пользователь и группа tss) также удаляется из пакета
udev. В настоящее время в Сизифе нет средств для работы с устройствами TPM;
когда такой пакет появится, правило можно будет добавить туда (в
http://bugs.gentoo.org/show_bug.cgi?id=99564 эта проблема была решена именно так).

- Правила, использующие группу rdma, также удаляются из пакета udev. Средств для
работы с RDMA в Сизифе, насколько мне известно, тоже нет.

- Правило для /dev/nvram, где используется группа nvram, тоже удаляется.

- Правила для SCSI-сканеров, использующие группу scanner, перемещаются из пакета
udev в пакет libsane, на который по этому поводу повешен bug #9889.

- Группа tape пока заменяется на disk (такие же права были ранее в статическом dev).

- Группа video заменяется на radio (эта группа и сейчас используется для
/dev/video* и ещё нескольких видов устройств в настройках pam_console).

- Группа nogroup, использующаяся в программе vol_id, заменяется на nobody.
------- Comment #12 From 2006-08-17 20:51:55 -------
(In reply to comment #11)
> - Группа video заменяется на radio (эта группа и сейчас используется для
> /dev/video* и ещё нескольких видов устройств в настройках pam_console).

Вообще с группой video сейчас наибольший бардак - туда засунуты и разнообразные
устройства для ввода видео (video4linux, dv1394, video1394, raw1394, DVB), и
фреймбуферы (/dev/fb*), и agpgart (но у него права 0600, так что группа тут
вообще не имеет особого значения), и nvidia* (это вообще можно выбросить -
последние версии драйверов nvidia не создают устройства через udev), и даже
/dev/input/event*, принадлежащие DVB-картам или имеющие "IR" в имени. В таком
виде группа video, даже если её создать, ни на что не годится.
------- Comment #13 From 2006-08-23 10:31:31 -------
(In reply to comment #9)
> Думаю в данном случае это самый приемлимый вариант.

От разработчиков udev пришёл подарок в виде версии 098:

...
The built-in /etc/passwd /etc/group parser is removed, we always depend on
getpwnam() and getgrnam() now.
...

Так что несуществующие группы в любом случае придётся вычищать.
------- Comment #14 From 2006-08-28 18:35:52 -------
Проблема исправлена в udev-097-alt1:

- vol_id теперь использует nobody:nobody;
- большинство отсутствовавших групп убрано из правил;
- группа video создаётся при установке пакета udev - теперь эта группа
назначается для устройств захвата видео (прочие устройства, в частности, DRI и
agpgart, из этой группы убраны).
------- Comment #15 From 2006-09-02 21:08:14 -------
(In reply to comment #13)
> От разработчиков udev пришёл подарок в виде версии 098:
> The built-in /etc/passwd /etc/group parser is removed, we always depend on
> getpwnam() and getgrnam() now.
Не слишком ли много зависимостей (косвенных) для претендующего на системный
инструмент куска эээ... кода? :(