[Sysadmins] vsftpd vs proftpd

Алексей Синицын =?iso-8859-1?q?asinitsinster_=CE=C1_gmail=2Ecom?=
Ср Дек 24 22:30:35 MSK 2008


24 декабря 2008 г. 21:34 пользователь Konstantin A. Lepikhov
<lakostis на unsafe.ru> написал:
> Hi Алексей!
>
> Wednesday 24, at 09:20:53 PM you wrote:
>
> ....
>>  И вот тут начинается послеобеденная бессоница. К пакету есть
>> документация с примерами. Всё просто. Всё делаю по описанию.
>> Авторизация обламывается. Нашёл схожий вопрос в community@ от 15
>> августа 2007 г. 8:30, на который так и не было ответа (у меня -
>> отличие, в логах "FAIL LOGIN"). Знакомый подсказал что db_load из
>> пакета db4.3-utils он заменил на пакет третьей версии, но в
>> репозитарии (бранч 4.1) такого нет. Попытка сделать авторизацию не
>> через Berkeley DB а через файл htpasswd2, так-же не увенчалась.
> Странно, у меня подобная схема работала (авторизация через userdb).
> Система была на сизифе 2007г. Надо будет глянуть на этот тазик.
>

 Пробую сейчас ещё раз с нуля:
 После удаления пакета и всего что может относиться:

apt-get install vsftpd
cd /etc/vsftpd
cp /usr/share/doc/vsftpd-2.0.6/EXAMPLE/VIRTUAL_USERS/vsftpd.conf .

Переименовал и сменил в последнем listen=YES на NO, потому-что помню
что он сам не заработал в прошлый раз и потому-что через xinetd мне
кажется красивее а на работу, по идее, влиять не должно.

cd /etc/pam.d
cp /usr/share/doc/vsftpd-2.0.6/EXAMPLE/VIRTUAL_USERS/vsftpd.pam .
mv vsftpd vsftpd.orig
mv vsftpd.pam vsftpd

 Долго думал, нужна-ли строчка #%PAM-1.0 в начале этого файла как в
оригинальном и всех остальных, добавил в файл из примера.

 По файлу /usr/share/doc/vsftpd-2.0.6/EXAMPLE/VIRTUAL_USERS/README :
Step 1) Create the virtual users database.
db_load -T -t hash -f logins.txt /etc/vsftpd_login.db

Программы db_load нет, apt-cache search db_load даёт пустоту, но "db"
нам как-бы намекает:

apt-get install db<tab>
db1-utils уже установлен, ставим db4.3-utils - программа появилась, попали.

Создаем файл logins.txt, в котором две строки - test test , на всякий
случай удостоверяемся что в конце последней строки есть ещё один
символ перевода строки.

db_load -T -t hash -f logins.txt /etc/vsftpd_login.db

В примере для pam указан файл /etc/vsftpd_login , на всякий случай
создаём в /etc такую символическую ссылку на vsftpd_login.db (заглянув
в него, увидел где-то в недрах своих тестов, удивился приколу, подумал
что плэйн текст всё-же лучше).

 Создаём, далее, по описанию нашего виртуала, подкладываем ему
зачем-то hosts (надо - так надо), затем в описании создание конфига
который я уже подложил, и старт vstfpd, вместо которого я делаю
service xinetd restart . Затем пробуем:


22:18 al на wind ~ $ ftp localhost 10021
ftp: connect: Connection refused
ftp> %
ctrl d
 22:18 al на wind ~ $ ftp localhost
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.0.6)
Name (localhost:al): test
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp>

 В логе ничего. Вообще, в ходе подёргиваний в прошлый раз что-то и в
логах оставалось, но на этот раз воспроизводил всё чисто по описанию.
Собственно, знакомый сказал что по этому описанию все заработало, но у
него кажется сизиф. Где искать - просто не понимаю.

cat /etc/apt/sources.list

rpm ftp://ftp.altlinux.org/pub/distributions/ALTLinux/4.1/branch/ i586 classic
rpm ftp://ftp.altlinux.org/pub/distributions/ALTLinux/4.1/branch/ noarch classic


Подробная информация о списке рассылки Sysadmins