Re: Известные группы в /etc/group. Ищу официальное описание и полиси.
Eugene Berdnikov -> debian-russian@lists.debian.org @ Thu, 27 Sep 2012 16:59:39 +0400:
>> >> твое любимое имя группы кто-то заюзал совершенно для
>> >> других целей. Что дальше?
>>
>> EB> 1. Вступить в переписку с нарушителем спокойствия и договориться.
>> EB> 2. Забить и сделать себе заведомо уникальное имя группы.
>> EB> 3. Выкинуть в pre/post-install-script диалоговое окошко и предложить
>> EB> чесать репу юзеру.
>>
>> EB> + наверное, ещё 100500 вариантов в зависимости от обстановки.
>>
>> Ну, ты хотя бы эти три раскрой. Вот у тебя пакет, который внутри кода
>> использует имя группы, допустим, remote-dev. Начнем с вопроса "как ты в
>> postinst обнаруживаешь, что то же имя группы с другими целями использует
>> какой-то другой пакет?
EB> Не в postinst, а в preinst -- по статус-коду от groupadd.
... который будет точно таким же, если это ты сам при прошлой установке
ее добавил.
>> И какой?"
EB> Неважно. Скрипт должен обнаружить конфликт, а дальше требуются мозги.
У тебя уже false positive. На ровном, в общем, месте.
>> Грепом по чужим постинстам? А если его ставят после тебя?
EB> "После нас -- хоть потоп!" :)
EB> Пусть тормозят те, кто позади. Да, всегда кто-то может въехать в зад,
EB> идеального средства от кретинов нет, но подбор уникального имени для
EB> группы снижает риск возможного клинча.
Про уникальное имя понятно, я как раз нарочно предложил группу, которую
потенциально несколько пакетов могут использовать как с одной, так и с
разными целями.
>> А что цели другие, ты откуда узнаешь? Может, он
>> использует твою группу, потому что цели у него те же, а может, нет...
>> Хорошо, допустим, ты на него ответил положительно. Твой скрипт на
>> юзерской системе узнал, с кем он конфликтует по имени группы. Кто будет
>> вступать в переписку с нарушителем спокойствия?
EB> В переписку вступит тот, кто пакетирует софт -- это его работа.
Вот мне странно. Конфликт обнаружил скрипт, у юзера, когда оба пакета
уже давно в дистрибутиве. И тут каким-то магическим образом вступает в
переписку пакетировщик... Нет, магия, в общем, понятна - man reportbug.
Но мой point в том, что мне здравый смысл подсказывает: если ты хочешь
работать с потенциально не тебе одному нужной группой, стоит задать
вопрос до того, как ты выложишь пакет, а не после того, как на эти
грабли встанет кто-то из пользователей.
Что Олександр и попытался начать делать. А ты на него наехал.
>> Делать заведомо уникальное имя можно пытаться, но только в случае, если
>> тебе не надо включать в эту группу реальных юзеров. Ибо в скольких
>> группах у нас одновременно может быть юзер без специальных телодвижений,
>> сводящихся как минимум к перекомпиляции ядра? 16, кажется?
EB> Мне никогда и до половины этого ограничения подниматься не удавалось.
EB> Какие есть практические примеры кроме fuse/cdrom/audio/video?
zsh% groups
ran root adm dialout cdrom floppy sudo audio dip video plugdev staff netdev wireshark scanner bluetooth vboxusers
zsh% groups|wc
1 17 114
(откуда, впрочем, следует, что ограничение таки подняли. До 32?)
EB> Я посмотрел свой /etc/group и нашёл ещё fax и scanner, всё остальное
EB> либо для системных процессов, либо слегка надуманное (вроде vboxusers).
Надуманное или нет, а это как раз то самое "уникальное имя". Проблему с
больной головы авторов и пакетировщиков успешно спихнули на здоровую
голову юзеров. Или вон там выше в списке есть wireshark. Ну накойхер
ему отдельная группа? С точки зрения прав доступа тем, кому нужен
wireshark, нужны также tcpdump, nmap etc.
>> В общем, твои предложения вызывают больше вопросов, чем дают ответов...
EB> ...
>> Речь не шла, насколько я понимаю, о том, что договориться не удастся.
>> Речь шла о том, какова процедура договаривания.
EB> Процедура обычная: по e-mail.
Вот, это уже ответ ближе к правильному. Только он почти бессмысленный.
Осмысленным был бы ответ "выяснить, какие еще есть в дистрибутиве пакеты
с релевантной функциональностью и списаться с их авторами".
Reply to: