URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 87187
[ Назад ]

Исходное сообщение
"ограничение UT_NAMESIZE FreeBSD 7.2"

Отправлено meps , 08-Ноя-09 11:36 
Всем привет!
Никто не вкурсе - можно ли победить ограничение на длину имени пользователя в FreeBSD7.0 без перекомпиляции ядра. А если и перекомпилить то не вылезут ли после этого "бока".
Спасибо!

Содержание

Сообщения в этом обсуждении
"ограничение UT_NAMESIZE FreeBSD 7.2"
Отправлено lavr , 09-Ноя-09 17:32 
>Всем привет!
>Никто не вкурсе - можно ли победить ограничение на длину имени пользователя
>в FreeBSD7.0 без перекомпиляции ядра. А если и перекомпилить то не
>вылезут ли после этого "бока".

только пересборка ядра и системы

дополнительно пересобрать софт в котором используются функции аутентикации

>Спасибо!


"ограничение UT_NAMESIZE FreeBSD 7.2"
Отправлено meps , 09-Ноя-09 18:53 
>>Всем привет!
>>Никто не вкурсе - можно ли победить ограничение на длину имени пользователя
>>в FreeBSD7.0 без перекомпиляции ядра. А если и перекомпилить то не
>>вылезут ли после этого "бока".
>
>только пересборка ядра и системы
>
>дополнительно пересобрать софт в котором используются функции аутентикации
>
>>Спасибо!

Спасибо!


"ограничение UT_NAMESIZE FreeBSD 7.2"
Отправлено meps , 13-Ноя-09 10:10 
>>Всем привет!
>>Никто не вкурсе - можно ли победить ограничение на длину имени пользователя
>>в FreeBSD7.0 без перекомпиляции ядра. А если и перекомпилить то не
>>вылезут ли после этого "бока".
>
>только пересборка ядра и системы
>
>дополнительно пересобрать софт в котором используются функции аутентикации
>
>>Спасибо!

пересобрал ядро с UT_NAMESIZE =32, тоесть 32 символа.Теперь мне нужно заводить длинные логины ну и , чтоб потом они могли заходить через SSH. sshd я пеоресобрал, когда завожу юзера (adduser) у меня вылазит ошибка
pw: name too long `qqqqqqqqqqqqqqqqqqqq' (max is 16)
Каким образом мне заставить pw обойти ограничение в 16 символов или как его пересобрать.Не хочеться пересобирать весь мир....


"ограничение UT_NAMESIZE FreeBSD 7.2"
Отправлено lavr , 13-Ноя-09 11:20 
>[оверквотинг удален]
>>
>>>Спасибо!
>
>пересобрал ядро с UT_NAMESIZE =32, тоесть 32 символа.Теперь мне нужно заводить длинные
>логины ну и , чтоб потом они могли заходить через SSH.
>sshd я пеоресобрал, когда завожу юзера (adduser) у меня вылазит ошибка
>
>pw: name too long `qqqqqqqqqqqqqqqqqqqq' (max is 16)
>Каким образом мне заставить pw обойти ограничение в 16 символов или как
>его пересобрать.Не хочеться пересобирать весь мир....

[alone]~ > grep UT_NAMESIZE /usr/include/utmp.h
#define UT_NAMESIZE     16      /* see MAXLOGNAME in <sys/param.h> */
        char    ut_name[UT_NAMESIZE];
[alone]~ >

написано же в include'е: см MAXLOGNAME in <sys/param.h>

выдержка из /usr/include/sys/param.h:

MAXLOGNAME should be == UT_NAMESIZE+1 (see <utmp.h>)

итого:

правим /usr/include/utmp.h

#define UT_NAMESIZE     32

правим /usr/include/sys/param.h

#define MAXLOGNAME      33

пересобираем СИСТЕМУ:

# cd /usr/src
# make buildworld

пересобираем и устанавливаем новое ядро:

# make buildkernel KERNCONF=mykern
# make installkernel KERNCONF=mykern

устанавливаем новую систему:

# make installworld



"ограничение UT_NAMESIZE FreeBSD 7.2"
Отправлено meps , 13-Ноя-09 11:45 
>[оверквотинг удален]
># make buildworld
>
>пересобираем и устанавливаем новое ядро:
>
># make buildkernel KERNCONF=mykern
># make installkernel KERNCONF=mykern
>
>устанавливаем новую систему:
>
># make installworld


"ограничение UT_NAMESIZE FreeBSD 7.2"
Отправлено meps , 13-Ноя-09 11:49 
>[оверквотинг удален]
>># make buildworld
>>
>>пересобираем и устанавливаем новое ядро:
>>
>># make buildkernel KERNCONF=mykern
>># make installkernel KERNCONF=mykern
>>
>>устанавливаем новую систему:
>>
>># make installworld

это понятно, но пересобирать мир мне аж не хочется. Я ж писал выше можно ли отдельно пересобрать (переустановить) приложение pw которое при команде adduser выдает ошибку
которая описана выше.....


"ограничение UT_NAMESIZE FreeBSD 7.2"
Отправлено lavr , 13-Ноя-09 11:57 
>[оверквотинг удален]
>>># make installkernel KERNCONF=mykern
>>>
>>>устанавливаем новую систему:
>>>
>>># make installworld
>
>это понятно, но пересобирать мир мне аж не хочется. Я ж писал
>выше можно ли отдельно пересобрать (переустановить) приложение pw которое при команде
>adduser выдает ошибку
>которая описана выше.....

ответ был дан СРАЗУ: ТОЛЬКО пересобрка ЯДРА и СИСТЕМЫ (мир)

[alone]~ > grep MAXLOGNAME /usr/src/usr.sbin/pw/*
/usr/src/usr.sbin/pw/pw_user.c:#if (MAXLOGNAME-1) > UT_NAMESIZE
/usr/src/usr.sbin/pw/pw_user.c:#define LOGNAMESIZE (MAXLOGNAME-1)
[alone]~ > grep "PWCMD" /usr/sbin/adduser
                _nextuid="`${PWCMD} usernext | cut -f1 -d:`"
                        ${PWCMD} usershow $_uid > /dev/null 2>&1
        _pwcmd="$_upasswd ${PWCMD} useradd $_uid $_name $_group $_grouplist $_comment"
                if ${PWCMD} lock $username ; then
                ${PWCMD} usershow $_input > /dev/null 2>&1
                        if ! ${PWCMD} show group $ulogingroup > /dev/null 2>&1; then
                                if ! ${PWCMD} show group $i > /dev/null 2>&1; then
PWCMD="${PWCMD:-/usr/sbin/pw}"
[alone]~ >

adduser только скрипт который использует "pw"

[alone]~ > file /usr/sbin/adduser
/usr/sbin/adduser: Bourne shell script text executable
[alone]~ >

все что работает с passwd/master.passwd, пишет в utmp/wtmp - есть утилиты СИСТЕМЫ(мира),
пересборка мира без вариантов, все что собрано в портах и требует аутентикации и пишет
в utmp - требует пересборки.


"ограничение UT_NAMESIZE FreeBSD 7.2"
Отправлено meps , 13-Ноя-09 12:00 
>[оверквотинг удален]
>
>[alone]~ > file /usr/sbin/adduser
>/usr/sbin/adduser: Bourne shell script text executable
>[alone]~ >
>
>все что работает с passwd/master.passwd, пишет в utmp/wtmp - есть утилиты СИСТЕМЫ(мира),
>
>пересборка мира без вариантов, все что собрано в портах и требует аутентикации
>и пишет
>в utmp - требует пересборки.

Теперь уж без вариантов...
Спасибо!!!



"ограничение UT_NAMESIZE FreeBSD 7.2"
Отправлено cam , 21-Май-13 18:21 
кто-то разобрался с этой проблемой на freebsd 9.1 ?
вот что нашел:

http://serverfault.com/questions/191789/freebsd-usernames-lo...

только у меня нет файла utmp.h