Как стать автором
Обновить

Комментарии 30

Не пойму, почему не работает тэг code.
а простая авторизация через запрос не работает? Я ProFTPd мало изучал, в PureFTPd есть штатная возможность — написать свои SQL запросы для поискал UID, HomeDir, пароля и квоты
Запрос то можно сделать, проблема в том, что в ProFTPD нельзя в запросе использовать плэйнтекстовый пароль. Имя пользователя можно подставить в запрос (%U), а вот пароль без написания своего модуля у ProFTPD никак не выхватить, нет у него такой переменной.
Т.е. нечего будет подставить в MySQL функцию SHA1() чтобы сделать по паролю запрос.
В том числи и поэтому лично я когда сделал выбор в пользу PureFTPd )
Все в нем нравится, только в идеей отсутствия конфиг файла не согласен. Понятно, что это решаемо, но, имхо, с точки зрения админа это более чем странно.
Если мне кто-то подкинет еще одно очко в карму, я с удовольствием перенесу топик в «Linux для всех». Наверняка топик будет полезнее в более людном блоге :-)
ловите ;)
Спасибо :-)
какой то злой человек поминусовал все комментарии — я плюсанул все что смог
разве что лучше наверное в «Системное администрирование»
Интересная идея, но по-моему гораздо проще пропатчить форум на предмет сохранения паролей в двух разных вариантах: стандартном и, например, Crypt. После чего попросить пользователей обновить пароль. И никаких модулей писать не надо, особенно недокументированных :)
Был и такой вариант, но согласитесь — заставить всех пользователей поменять пароль достаточно неудобно, ценный пользователь не должен испытывать неудобств изза того, что я не продумал это в самом начале :-)
Сразу да, но это можно сделать прозрачно, просто при вводе логина и пароля обновить данные в БД crypt. Т.е. для того, чтобы получить доступ к FTP юзеру достаточно один раз залогинится на форуме.
при обновлении форума придется опять его патчить и затачивать под новую схему работы. с патчем на фтп сервак проще. я для dle пару лет назад подобное проделывал. с тех пор несколько раз админы обновляли этот движек, причем без моего участия…
Мне почему-то кажется, что при обновлении ProFTPD тоже что-нибудь может поменяться. Оба подхода ведут к патчам. Другое дело, что лично мне удобней патчить PHP, чем C. Кто-то, наоборот, любит патчить С.
пару недель назад возникла необходимость прикрутить proftpd к другому проекту. патч наложил без проблем, пофиксил лишь кусок кода который хэширует открытый пароль.
вот вам пример того как патч для proftpd использовался на 2-х разных веб-проектах с небольшими телодвижениями.
сможете вы таким же похвастаться при условии изменения кода веб-движка?

ЗЫЖ я понимаю что для кого-то проще на php написать, для кого-то на c… просто излагаю личный опыт…
Думаю, что нет ничего сложного перехватить POST запрос в самом начале скрипта логина и сохранить данные из него куда требуется. Соответственно когда появится новая версия форума просто добавить этот код в самое начала скрипта тогоже самого файла. При этом код совершенно не зависит от того, что там в движке поменяли, если конечно они не начнут хешировать пароль на стороне клиента. Хотя, также думаю, что нет ничего сложного пропатчить C, главное понимать, что именно ты делаешь и как это влияет на безопасность FTP авторизации. Я, например, не могу быть на 100% уверен, что сторонний патч является полностью безопасным и поддерживаемым расширением.
у меня не было сторонних патчей. все что надо было я сам написал, равно как и автор топика.
Имхо хранить одну и ту же информацию (пароль) в одной и той же БД, просто в другом виде — неправильно. Два поля, которые нужно постоянно друг с другом синхронизировать, и т.д.
По-идее, при логине они сами собой будут синхронизироваться. Насчет избыточности, согласен. Я ведь не говорю, что плохая идея, наоборот, говорю, что интересное решение, но лично мне кажется, что патч форума проще поддерживать, чем патч FTP сервера.
А зачем, как вам кажется, пароль от форума в базе хранится в sha1?
Ваше предложение?
Мне вообще кажется глупой идеей привязывать пароль юзеров к фтп-аккаунтам, но не суть важно.

Я бы сделал пользователям, которые хотят иметь фтп-аккаунты (а не всем, т.к. всем они явно не нужны) — формочку в профиле, где они могут установить пароль на фтп, после ввода которого бы создавался бы логин на фтп в системе с указанным паролем. И все.

Идея с патчем исходников мне не нравится совершенно. Это костыль.
Все это я затеял по той причине, что по сути в моем проекте форум и ftp неразделимы, и друг без друга толку не имеют. Форум, можно сказать, не для общения, а для информации по содержимому ftp сервера, детали не важны. Поэтому и нет смысла в раздельных аккаунтах. Согласен, такое понадобится далеко не каждому, но для того, кому понадобится — эта статья будет полезной. Как мне показалось, гораздо легче привязать FTP-авторизацию к аккаунтам с форума, пусть и через костыль, чем авторизацию в форуме к системным аккаунтам или специфичной для ProFTPD базе данных.
Ничего не имею против, просто высказал то, что лежит на поверхности: что это костыль.
А это решение не создает риска в плане того что например ftp не защищен от перебора паролей? Плюс через ftp можно насоздавать кучу запросов к базе и уронить ее.
Собственно, если это костыль, то для чего вообще Open Source, если не для возможности свободно расширять функционал чего-либо своими силами, и делиться результатами с сообществом? Исходники даются не для галочки, а как раз для таких целей. Ну, в любом случае, это имхо.
Можно было ещё написать PAM модуль, получилось бы куда универсальнее. ProFTPD ведь достаточно прогрессивный сервер и уже знает что такое PAM аутентификация?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории