Bug 9202 - dot in login names
: dot in login names
Status: ASSIGNED
: Sisyphus
(All bugs in Sisyphus/shadow-utils)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
: usability
:
: 22044
  Show dependency tree
 
Reported: 2006-03-07 20:19 by
Modified: 2017-03-23 03:06 (History)


Attachments
патч (384 bytes, patch)
2006-03-07 20:20, Nick S. Grechukh
no flags Details | Diff
good name (796 bytes, patch)
2010-06-30 17:07, Valery Inozemtsev
no flags Details | Diff


Note

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


Description From 2006-03-07 20:19:08
useradd не позволяет добавить пользователя с точкой в имени 

Steps to Reproduce:
1.useradd n.grechukh 

Actual Results:  
useradd: invalid user name 'n.grechukh'
------- Comment #1 From 2006-03-07 20:20:13 -------
Created an attachment (id=1419) [details]
патч
------- Comment #2 From 2006-03-07 20:27:41 -------
Есть ещё много других символов, которые useradd не позволяет использовать в
имени создаваемого аккаунта.  Вы предлагаете разрешить все?
------- Comment #3 From 2006-03-07 20:38:37 -------
1. Использование точки в логине достаточно распорстраненное явление (кстати,
распорстраненные же _ и -  в useradd разрешены)
2. От использования таких логинов нам не встретилась никакой проблемы пока.
Даже
chown красиво распознает login и login.group при наличии точки в login и т.п.
То
есть проблема пока только в useradd сотоварищи (кстати, и инстяллятор наш имеет
эту же проблему из-за вызова useradd внутри себя)
3. В других дистрибутивах это давно работает.
4. Ну правда, очень раздражает делать user/groupadd akornilov и потом в
нескольких местах изменять это. 
------- Comment #4 From 2006-03-07 20:44:35 -------
2hiddenman: а если в системе есть пользователи a, a.kornilov и группа kornilov,
то насколько предсказуемым будет поведение chown a.kornilov file.  Вы думаете,
все научились использовать ":"?
------- Comment #5 From 2006-03-07 20:48:49 -------
http://lists.debian.org/debian-edu/2004/11/msg00265.html

иногда рекомендубют ограничиться '[a-z][a-z0-9]+' only, но у нас разрешены _ и -
------- Comment #6 From 2006-03-07 20:52:00 -------
(In reply to comment #4)
> 2hiddenman: а если в системе есть пользователи a, a.kornilov и группа kornilov,
> то насколько предсказуемым будет поведение chown a.kornilov file. 
владельцем становится пользователь a.kornilov. 

> Вы думаете, все научились использовать ":"?
думаю, те кому это нужно - научились

------- Comment #7 From 2006-03-07 20:53:17 -------
(In reply to comment #4)
> 2hiddenman: а если в системе есть пользователи a, a.kornilov и группа kornilov,
> то насколько предсказуемым будет поведение chown a.kornilov file.  Вы думаете,
> все научились использовать ":"?

Мне понравилось, как вот тут написано: 

http://unix.derkeiler.com/Newsgroups/comp.sys.hp.hpux/2003-12/0016.html

Это не аргумент, сам же понимаешь :)
------- Comment #8 From 2006-06-29 12:29:54 -------
Так что будем делать с этой точкой?
------- Comment #9 From 2006-06-29 12:32:29 -------
Предлагаю исправить chown так, чтобы нельзя было использовать точку в качестве
разделителя логина и группы, если мы так заботимся о неправильных админах :)
------- Comment #10 From 2006-10-25 12:11:07 -------
Более того, в RH-образных дистрибутивах (e.g CentOS) можно создавать имена
пользователей в upper case и даже в mixed case.
#id TEST
uid=511(TEST) gid=512(TEST) groups=512(TEST)

#id TeSt
uid=512(TeSt) gid=513(TeSt) groups=513(TeSt)
------- Comment #11 From 2008-01-20 00:22:44 -------
(In reply to comment #10)
> Более того, в RH-образных дистрибутивах (e.g CentOS) можно создавать имена
> пользователей в upper case и даже в mixed case.
> #id TEST
> uid=511(TEST) gid=512(TEST) groups=512(TEST)
> 
> #id TeSt
> uid=512(TeSt) gid=513(TeSt) groups=513(TeSt)

Зачем нам создавать лишние проблемы?
------- Comment #12 From 2008-01-21 08:02:58 -------
(In reply to comment #11)
> > uid=511(TEST) gid=512(TEST) groups=512(TEST)
> > #id TeSt
> > uid=512(TeSt) gid=513(TeSt) groups=513(TeSt)
> 
> Зачем нам создавать лишние проблемы?
Проблемы сами по себе не возникнут, их еще постараться создать надо. А вот
ограничение возможностей есть, это факт. 
Почему я в win32 могу хоть "Корнилов Андрей Владимирович" создать, а тут даже
точку нельзя? Иногда очень хочется. 
По крайней мере, в данном случае можно столкнуться с тем, что не будет
нормального взаимодействия между ALT-ом и другими дистрибутивами в гетерогенной
среде. Точки в enterprise любят.
Давайте проголосуем. vote в нашей bugzilla работает?
------- Comment #13 From 2008-01-21 08:49:23 -------
>Давайте проголосуем. vote в нашей bugzilla работает?

Работают, а толку?
------- Comment #14 From 2008-01-21 09:45:16 -------
(In reply to comment #13)
> >Давайте проголосуем. vote в нашей bugzilla работает?
> 
> Работают, а толку?
Это ты к чему? Голосование у нас не влияет на принятие решения?
------- Comment #15 From 2008-01-21 13:25:49 -------
(In reply to comment #14)
> (In reply to comment #13)
> > >Давайте проголосуем. vote в нашей bugzilla работает?
> > 
> > Работают, а толку?
> Это ты к чему? Голосование у нас не влияет на принятие решения?

Конечно, нет.  Обычно к голосованию пытаются прибегать, когда заканчивается
аргументация.
------- Comment #16 From 2008-01-21 14:31:15 -------
> > Это ты к чему? Голосование у нас не влияет на принятие решения?
> 
> Конечно, нет.  Обычно к голосованию пытаются прибегать, когда заканчивается
> аргументация.
Ну у нас с Колей (gns) были аргументы и факты. Контраргументы слабее, imho.
------- Comment #17 From 2009-11-04 02:01:24 -------
См. bug #22044
------- Comment #18 From 2009-11-04 23:09:58 -------
А чем ещё мешают заглавные буквы?
Это чисто из-за почтовых программ?
Можно же сделать так, чтобы заглавные буквы принимались, а уникальность
проверять в нижнем регистре.
------- Comment #19 From 2009-11-05 07:58:14 -------
Ещё одно применение имени с точкой - брать в качестве имени пользователя имя
домена - удобно для динамического хостинга.

Читал, что старые версии useradd в RedHat точку поддерживали.
------- Comment #20 From 2009-12-08 19:28:46 -------
может кто-то скажет что NT домен на самбе -- зло
но там
очень уместно смотрятся имена с точкой.
ivanov.i и ivanov.g
гораздо информативнее 
ivanov1 и ivanov
------- Comment #21 From 2009-12-08 20:01:55 -------
The BSD syntax [of chown] user[. group] was changed to user[: group] in this
volume of POSIX.1-2008 because the <period> is a valid character in login names
(as specified by the Base Definitions volume of POSIX.1-2008, login names
consist of characters in the portable filename character set). The <colon>
character was chosen as the replacement for the <period> character because it
would never be allowed as a character in a user name or group name on
historical implementations.

http://www.opengroup.org/onlinepubs/9699919799/utilities/chown.html
------- Comment #22 From 2009-12-08 21:36:32 -------
Ур-ра!  Дима, сдавайся :)
------- Comment #23 From 2010-06-21 16:15:32 -------
Предлагаю забить. Дима, когда можно ожидать?
------- Comment #24 From 2010-06-21 18:17:54 -------
(В ответ на комментарий №23)
> Предлагаю забить. Дима, когда можно ожидать?
В смысле? В кентавре будут валидны имена пользователя с точкой?
Гуд!
------- Comment #25 From 2010-06-30 17:07:06 -------
Created an attachment (id=4441) [details]
good name

мне недавно пришлось делать вот такой патчь, во всяких debian/ubuntu заглавные
буквы в имени разрешены
------- Comment #26 From 2010-11-06 17:32:35 -------
Не тянет на distro-blocker
------- Comment #27 From 2010-11-21 17:40:02 -------
(В ответ на комментарий №4)
> Вы думаете, все научились использовать ":"?
Если "." нестандартно, то его можно вырезать, тогда никто не ошибется.
------- Comment #28 From 2011-05-19 06:02:19 -------
Может, стоит поправить по случаю нового бранча?
------- Comment #29 From 2011-07-19 14:11:37 -------
(В ответ на комментарий №28)
> Может, стоит поправить по случаю нового бранча?
Судя по тому, что была снята зависимость на 23155, не в этом бранче.
------- Comment #30 From 2012-10-25 22:28:18 -------
А в новом бранче увидим?
------- Comment #31 From 2012-10-26 00:58:57 -------
Да, народ недоумевал...
------- Comment #32 From 2012-10-26 01:35:31 -------
Это ж надо так не любить точку. 6,5 лет назад мы с Колей запостили баг, а воз и
ныне там. Дмитрий, сознайтесь, в чем истинная причина? :-)
------- Comment #33 From 2012-10-26 15:08:09 -------
Тоже задело. Тоже имена пользователей с точкой. Причем несколько лет, как они
берутся из лдап, все работает. Система может работать с именами с точками
замечательно. Вот только создать не может. Может пора уже?
------- Comment #34 From 2016-04-25 09:38:32 -------
Как дела с этим багом? Оба патча давно пора приложить.
------- Comment #35 From 2016-04-25 11:02:05 -------
(В ответ на комментарий №4)
> думаете, все научились использовать ":"?
Я вообще до этого бага не знал, что там можно что-то другое использовать. :-)
------- Comment #36 From 2016-04-25 13:57:42 -------
извиняюсь, может у меня как раз с этим связаны проблемы?
Проблема следующая. Я использую sssd для логина в домене AD. Имя пользователя с
сточкой - a.shabalin@domain.com. Настроены pam и nss на использование sssd.
Периодически система теряет primary group. Т.е у пользователя a.shabalin есть
GID, но не ресолвится в имя "domain users". Остановка sssd, удаление кэша,
старт sssd помогают на некоторое время. Случайное время от 2 часов до 3-4 дней.
------- Comment #37 From 2017-03-07 18:56:02 -------
(In reply to comment #34)
> Как дела с этим багом? Оба патча давно пора приложить.

Чтобы разрешить точку, нужно для начала запатчить chown, чтобы он ругался на
использование точки. После чего подождать хотя бы пару лет, выявляя и исправляя
скрипты, где используется точка. Когда наступит уверенность, что таких скриптов
больше не осталось, то можно выключить использование точки в chown и разрешить
в именах пользователей.
Я не вижу, чтобы кто-нибудь собирался все это делать.

(In reply to comment #36)
> извиняюсь, может у меня как раз с этим связаны проблемы?
Вряд ли sssd использует shadow-utils в runtime.
------- Comment #38 From 2017-03-07 19:50:51 -------
(В ответ на комментарий №37)

> Чтобы разрешить точку, нужно для начала запатчить chown, чтобы он ругался на
> использование точки. После чего подождать хотя бы пару лет, выявляя и исправляя
> скрипты, где используется точка. Когда наступит уверенность, что таких скриптов
> больше не осталось, то можно выключить использование точки в chown и разрешить
> в именах пользователей.
> Я не вижу, чтобы кто-нибудь собирался все это делать.

Опять откопали стюардессу? :-)
Я вообще таких скриптов в жизни не встречал, разве что в каком-то энтерпрайзе
попадается.   Тут дилемма в том, что пользователей все и так делают с точкой
(RH-based уже 10 лет как работают с точкой), просто вручную редактирую или
через други утилиты и всё окружение работает.  Только useradd не принимает
точку, поэтому приходится его обходить всем.
Точка - это вообще самый настоящий энтерпрайз, они её очень любят.
------- Comment #39 From 2017-03-23 03:06:28 -------
(В ответ на комментарий №38)
> Я вообще таких скриптов в жизни не встречал, разве что в каком-то энтерпрайзе
> попадается.

Нет никаких гарантий, что таких скриптов нет. Вообще мне смутно припоминается,
что я где-то у нас видел.

> Тут дилемма в том, что пользователей все и так делают с точкой
> (RH-based уже 10 лет как работают с точкой), просто вручную редактирую или
> через други утилиты и всё окружение работает.  Только useradd не принимает
> точку, поэтому приходится его обходить всем.
> Точка - это вообще самый настоящий энтерпрайз, они её очень любят.

Я не думаю, что нас должны волновать проблемы RH-based дистрибутивов. И если у
нас тоже кто-то хочет создать себе потенциальные проблемы, то это его дело.
Создавать же undefined behavior "из коробки" - точно плохая идея.
В Дебиане, кстати, с именами пользователей вообще энтерпрайз-рай, там почти
ничего не запрещено. И создать пользователя с именем типа $(reboot), например,
ничего не мешает. А потом неосторожный eval в каком-нибудь скрипте и привет.