Автор Тема: имя пользователя с точкой  (Прочитано 3150 раз)

Оффлайн oleg_nw

  • Участник
  • *
  • Сообщений: 24
Добрый день! Неожиданно выяснилось, что позарез нужно создать пользователя с точкой в имени (типа tumbochkin.a)  ;D Это требуется одной своеобразной windows программе (запускается под wine), чтобы соединиться по сети. Она не имеет нормального диалога логин/пароль, а в качестве логина использует имя пользователя, который её запустил. Все логины имеют в своем составе точку, переименовать - нет организационной возможности (сервер не наш).
Как я понимаю, useradd и passwd сейчас такие имена не поддерживают.. Какие есть варианты?
- скачать исходники useradd и passwd, и пересобрать? (кто-то пишет, что в CentOS 4.x у него так работает)
- вручную исправить /etc/passwd, /etc/group/, /etc/shadow ?
- может wine как-нибудь можно подсунуть другое имя, или самой проге?

Я понимаю, что поддержка точки отключена не просто так, но очень уж хочется это дело запустить..

Оффлайн coretech

  • Участник
  • *
  • Сообщений: 193
Re: имя пользователя с точкой
« Ответ #1 : 29.11.2009 08:59:31 »
$ set |grep "\=$USER"
LOGNAME=someuser
USER=someuser
USERNAME=someuser
Судя по всему, wine берет имя пользователя из одной из этих переменных. Так что попробуйте их изменить перед запуском. Другие методы я бы не советовал - очень геморройно и последствия могут быть непредсказуемыми.

Оффлайн oleg_nw

  • Участник
  • *
  • Сообщений: 24
Re: имя пользователя с точкой
« Ответ #2 : 29.11.2009 13:13:09 »
Увы, так просто не получается.. пробовал в консоли менять значения этих переменных, и оттуда запускать wine - облом, все равно имя пользователя берется истинное.

Вчера убил весь день, но нашел другой способ:

1)выполнил tcb_unconvert, изменил в /etc/login.defs  USE_TCB   yes на no
2)создал пользователя без точки
3)вручную переименовал его в /etc/passwd, /etc/shadow и /etc/group чтобы был с точкой
4)выполнил /usr/sbin/pwconv и /usr/sbin/grpconv
5)вернул  в /etc/login.defs  USE_TCB   yes, удалил /etc/tcb, выполнил /sbin/tcb_convert ;D
6)пользователь с точкой появился, но в систему его не пускает (login наверное тоже не поддерживает точку)
7) sudo точек не боится :D, потому:
-xhost + 127.0.0.1 (а то к X не получится подключиться)
-sudo -H  -u tumbochkin.a  env TERM='xterm' LANG=ru_RU.UTF-8 DISPLAY=':0.0'  wine /home/tumbochkina/wine_c/Program\ Files/blin/blin.exe

Программа запустилась!!! Правда все равно косячит почему-то (пароль не признает), но это потом разберемся - там других тонкостей много

Оффлайн Const

  • Глобальный модератор
  • *****
  • Сообщений: 2 653
  • Даже у плохого модератора есть свои плюсы…
Re: имя пользователя с точкой
« Ответ #3 : 29.11.2009 14:04:35 »
Увы, так просто не получается.. пробовал в консоли менять значения этих переменных, и оттуда
На всякий случай: как вы меняли это?

Оффлайн oleg_nw

  • Участник
  • *
  • Сообщений: 24
Re: имя пользователя с точкой
« Ответ #4 : 29.11.2009 14:46:21 »
Путем изменения значения переменных для сеанса в консоли:
1)запустил Terminal (Console)
2)export USER=oleg.qqq - и так остальные переменные
3)env | grep oleg.qqq - проверил, значения совпали
4)из этого же сеанса запустил wine