В общем здравствуйте =) здесь я в первый раз.
Построил ФТП сервер, хранящий пользователей в Мускуле. Устроено все через VSFTPD и MySQL. Вот лог конфига VSFTPD:
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
##############################
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
no_anon_password=YES
anon_root=/var/ftp/pub
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
##########
chroot_local user=YES
write_enable=YES
ftpd_banner="Welcome To Hell"
connect_from_port_20=YES
nopriv_user=ftp
Чтобы юзеры забирались из Мускульной таблицы настроил Pam:
auth required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=0
account required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=0
Интересует вопрос: что значит вот этот конф CRYPT=0 в Pam.d.
Ещё мне неизвестно, почему не шифруется пароль в базе данных мускуля.. Когда я добавляю ник с базу вот так:
INSERT INTO accounts (username, pass) VALUES('testuser', PASSWORD('secret')); quit;
то пароль у юзера в таблице мускульной становится шифрованным. Когда я ввожу нормальный пароль в браузер (для входа на ФТП) он его не принимает.. когда вбиваю именно те цифры и буквы (как его зашифровали) то нормально пускает на фтп-шник.
если юзера создавать без шифрации:
INSERT INTO accounts (username, pass) VALUES('testuser', 'secret'); quit;
то входит без страблов с обычным паролем.. подскажите плиз по этим вопросам. хочу настроить ФТП чтобы шифровал пароли =)
Всем заранее спасибо..
п.с. в юниксе я совсем совсем новичек, поэтому не пинайте плиз
MySql + VSFTPD +CentOs 5.5
crypt(0) -- Used to decide to use MySQL's PASSWORD() function or crypt()
0 = No encryption. Passwords in database in plaintext. NOT recommended!
1 = Use crypt
2 = Use MySQL PASSWORD() function
crypt(0) -- Used to decide to use MySQL's PASSWORD() function or crypt()
0 = No encryption. Passwords in database in plaintext. NOT recommended!
1 = Use crypt
2 = Use MySQL PASSWORD() function
то есть если я поставлю Крипт на цифру 2, и создам пользователя с шифрацией, то все будет работать в обе стороны??
попробовал поставить crypt=2 и попробовал зайти пользователем, которого сделал с шифрованием.. Ни фига не заходит - пишет что пользователь некорректно аутентифицирован
Плюс ко всему другими юзерами, которыми раньше заходил, зайти тоже не могу =(
Подскажите что делать
народ!!! подскажите плз... оч надо
а если использовать crypt=1 и зашифрованные пароли?
Хот ядолжно работать с crypt=2... вообщем, логи при неудачных попытках в студию
Tue Nov 9 11:12:46 2010 [pid 2462] CONNECT: Client "192.168.56.101"
Tue Nov 9 11:12:46 2010 [pid 2461] [crypto] FAIL LOGIN: Client "192.168.56.101"
вот логи vsftpd
в логах мускуля он не пишет..
я подозреваю что это при вводе пароля шифрация либо не идет либо идет не так... а как с этим бороться я не знаю....
создайте нового пользователя в мускуле... и пробуйте на нем... и хорошо бы разговорчивость фтп-сервера увеличить
создавал - пробовал... расскажите как разговорчивость увеличить.. что подключить.. какое логирование?
ну где все линуксоиды????поумирали чтоли все?
ну где все линуксоиды????поумирали чтоли все?
А Вы сами кто? Что Вы выяснили за это время? Включли более подробное логгирование? Или выяснили возможную причину проблемы? Снесли все настроенное и поставили хотя бы ради чистоты эксперимента заново?
Вы забываете, что это Вам впервую очередь надо.
[quote=lm_akella]ну где все линуксоиды????поумирали чтоли все?
А Вы сами кто? Что Вы выяснили за это время? Включли более подробное логгирование? Или выяснили возможную причину проблемы? Снесли все настроенное и поставили хотя бы ради чистоты эксперимента заново?
Вы забываете, что это Вам впервую очередь надо.[/quote]
я сносил и делал заново раз пять... во всех мануалах расписано именно так, как у меня..
но не работает... совсем не работает... а надо чтобы работало =(
Соответственно, вы или неправильно читаете мануалы и следуете им, или же не знаю даже.
Вот пара ссылок, обе рабочие.
http://articles.sunfinedata.com/windows/vsftpd_mysql.html
http://centosforserver.blogspot.com/2010/02/virtual-hosting-with-vsftpd-and-mysql.html
[root@localhost ~]# vim /etc/pam.d/vsftpd
[root@localhost ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.0.77 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use vsftpd
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> insert into accounts (username,pass) VALUES ('user1', md5('secret'));
Query OK, 1 row affected (0.16 sec)
mysql> select*from accounts
-> ;
+----+----------+----------------------------------+
| id | username | pass |
+----+----------+----------------------------------+
| 1 | testuser | secret |
| 4 | hell | 123 |
| 5 | crypto | 773359240eb9a1d9 |
| 6 | lol | 123 |
| 7 | testcr | 123 |
| 8 | testcry | 773359240eb9a1d9 |
| 9 | user1 | 5ebe2294ecd0e0f08eab7690d2a6ee69 |
+----+----------+----------------------------------+
7 rows in set (0.00 sec)
mysql> quit
Bye
[root@localhost ~]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
[root@localhost ~]# service mysql restart
mysql: unrecognized service
[root@localhost ~]# service mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
вот конфиг pam.d
auth required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=3
account required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=3
все как в инструкции, но с другим ключем шифрования...
такая же шляпа.. авторазация не пройдена
Логи дайте нормальные. Ради интереса и фтп-сервера и мускула. Или думайте наконец сами.
логи vsftpd.log
Wed Nov 10 09:07:59 2010 [pid 4210] CONNECT: Client "192.168.56.101"
Wed Nov 10 09:07:59 2010 [pid 4209] [user1] FAIL LOGIN: Client "192.168.56.101"
Wed Nov 10 09:10:41 2010 [pid 4247] CONNECT: Client "192.168.56.101"
Wed Nov 10 09:10:41 2010 [pid 4246] [user1] FAIL LOGIN: Client "192.168.56.101"
логи мускуля
101110 2:52:00 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
101110 2:52:00 InnoDB: Started; log sequence number 0 43655
101110 2:52:00 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.0.77' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution
101110 4:07:03 [Note] /usr/libexec/mysqld: Normal shutdown
101110 4:07:03 InnoDB: Starting shutdown...
101110 4:07:03 InnoDB: Shutdown completed; log sequence number 0 43655
101110 4:07:03 [Note] /usr/libexec/mysqld: Shutdown complete
101110 04:07:03 mysqld ended
101110 04:07:04 mysqld started
101110 4:07:04 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
101110 4:07:04 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
101110 4:07:04 InnoDB: Started; log sequence number 0 43655
101110 4:07:04 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.0.77' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution
Добавьте в конфиг
log_ftp_protocol=YES
и попробуйте залогиниться снова. Логи всего этого дела - сюда.
как будет называться файл, который хранит логи протокола? листинг кторый сюда мне скинуть?
должно быть в стандартном файле логов
root@localhost var]# cd log
[root@localhost log]# ls
acpid btmp faillog mysqld.log secure.1 wtmp
anaconda.log conman lastlog pm spooler yum.log
anaconda.syslog conman.old mail ppp spooler.1
anaconda.xlog cron maillog prelink tallylog
audit cron.1 maillog.1 rpmpkgs vbox
boot.log cups messages rpmpkgs.1 vsftpd.log
boot.log.1 dmesg messages.1 secure vsftpd.log.1
вот всяких разных файлов лога.. стандартный это vsftpd.conf?