Здравствуйте.
Имеет меня проблема. Переношу один сайт с FreeBSD 6.1 на 7.2. Один из перловых скриптов это модифицированный adduser от 4.5 фряхи. Он добавляет через веб новых пользователей. Проблема в следующем. В login.conf у меня стоит шифрование паролей блоуфиш (и на той и на этой машине) а пароли в master.passwd зашифрованы не им (какая то простая фигня типа DES). adduser.conf идентичны. На 6 ветке все работает, а на 7 нет.
Можно что либо подсказать по моему объяснению на пальцах?
Спасибо.
Может вопрос ламерский?
Да вот только не как не могу понять, почему в 7 ветке все что шифруется на перле функцией crypt или Unix_crypt делается на другом алгоритме, а не на том, который прописан в login.conf. на 6 ветке все нормально. Может есть идеи?
Спасибо.
>Здравствуйте.
>Имеет меня проблема. Переношу один сайт с FreeBSD 6.1 на 7.2. Один
>из перловых скриптов это модифицированный adduser от 4.5 фряхи. Он добавляет
>через веб новых пользователей. Проблема в следующем. В login.conf у меня
>стоит шифрование паролей блоуфиш (и на той и на этой машине)
>а пароли в master.passwd зашифрованы не им (какая то простая фигня
>типа DES). adduser.conf идентичны. На 6 ветке все работает, а на
>7 нет.
>Можно что либо подсказать по моему объяснению на пальцах?
>Спасибо.а cap_mkdb /etc/login.conf делали после правки login.conf?
если в master.passwd пароль начинается с $1$ - это md5, если $2a$ - blowfish; на 6.1 md5, кажись, по умолчанию стоит, а des я уже даавно не встречал.
Anyway, насколько помню, сам adduser пароли не шифрует и системный или перловый crypt не при чем.
делал, пароли начинаются с $2 - блоуфиш. не знаю, что уж и делать. Хоть заново ставь 6 ветвь и на ней все настраивай. Но это бред.
>делал, пароли начинаются с $2 - блоуфиш. не знаю, что уж и
>делать. Хоть заново ставь 6 ветвь и на ней все настраивай.
>Но это бред.Эмм... Так а что надо было? Если работает блоуфиш, то в чем вопрос?
Или новый adduser работает не так, как генномодифицированный?
не работает скрипт добавления новых пользователей через веб. это модифицированный adduser от 4.5 фряхи. Вот, например, прога Webmin для управления системой через веб интерфейс. У нее есть фича смены паролей для юзеров. Если ее использовать, то у пользователя появляется пароль, шифрованный не блоуфиш.
А просто через консоль добавлять пользователей через родной adduser от 7.2 все нормально, шифруется блоуфиш. Никак не пойму где грабли.
>не работает скрипт добавления новых пользователей через веб. это модифицированный adduser >от 4.5 фряхи. Вот, например, прога Webmin для управления системой через веб
>интерфейс. У нее есть фича смены паролей для юзеров. Если ее
>использовать, то у пользователя появляется пароль, шифрованный не блоуфиш.
>А просто через консоль добавлять пользователей через родной adduser от 7.2 все
>нормально, шифруется блоуфиш. Никак не пойму где грабли.Т.е. вы хотите сказать, что модиф. adduser от 4.5 и Usermin дружно кладут на опцию passwd_format из login.conf?
А новый login-class пробовали сделать? А может, passwd_format не у того класса меняете?
Именно так, кладут! Новый логин класс честно скажу не знаю как. А логин конф работает для всех классов. Вот даже запускаю с консоли adduser штатный. Все нормально, пароли блоуфишем зашифрованы. Запускаю тот скрипт - и фиг вам. Скрипт то нужный, у меня им пользователи мыльники получают через веб интерфейс. Переписать не могу - перл не знаю. Что же может быть?
Если про самописный скрипт еще можно сказать, что он пытается добавлять пользователей в обход login.conf, то про usermin я не уверен - не было необходимости в его использовании.Я правильно понял, что ваш скрипт нужен для того, чтобы с веб-морды завести новый почтовый ящик (и для этого вы создаете нов. учетную запись unix)?
Login-класс - это секция вида
class_name:
:param=value:\
:param=value:\
...
:param=value:
Попробуйте пройтись поиском по login.conf и поглядеть (поменять) все параметры passwd_format. Хотя, если там никто ничего не добавлял существенного, этот параметр указан у одного класса - default.Кстати, там несколькими постами выше, я забыл упомянуть на всякий случай, вдруг недопоняли: если в /etc/master.passwd в поле пароля в начале стоит $1$ - это md5, если $2a$ - blowfish. Т.е. не сам пароль должен содержать эти символы, а перед зашифрованной последовательностью в master.passwd должен находиться этот "маркер". Если у вас об этом есть понятие, тогда все ок.
И еще одно кстати - почему перл? Не скажу точно про 4-ю ветку фри, но почему-то мне кажется, что и в те времена, как сейчас, /usr/sbin/adduser был сделан на шелле...
Может ваш скрипт - не модификация adduser от 4-ки, а полностью самописка, имитирующая его работу? Переделайте (напишите новый) так, чтобы секция с добавлением пользователей была заменена на системный вызов pw (man 8 pw) с соответствующими параметрами.
>И еще одно кстати - почему перл? Не скажу точно про 4-ю
>ветку фри, но почему-то мне кажется, что и в те времена,4.7 - adduser перловый. и ссылка на libcrypt
> 4.7 - adduser перловый. и ссылка на libcryptВек живи - век учись. Буду знать :)
Тогда, имхо, проще отказаться от ковыряний в старом скрипте и попробовать реализовать тот же функционал другими изобретенными велосипедами...
Так все понятно это. Переписать, доделать. А вот не понятно одно. Почему до 6 ветви включительно все работает, а на 7 нет? Может скриптик приклеить? Есть время посмотреть?
>Так все понятно это. Переписать, доделать. А вот не понятно одно. Почему
>до 6 ветви включительно все работает, а на 7 нет? Может
>скриптик приклеить? Есть время посмотреть?Ну фиг его знает, счас поглядел с 5.3 до 8-ки - везде adduser на шелле. Но вот в исходники самого pw (adduser - надстройка над pw) лезть и сравнивать по версиям, есчессно, лень. Да и не в этом дело, скорее всего. Можете скопипастить сюда свой скрипт, если он не большой, строк 30.
А вы свою задачу для скрипта сформулируйте, может кто другое, более портабельное, решение подскажет...