ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
From: Александр <firmord@front.ru>
To: ALT Linux sysadmins' discussion <sysadmins@lists.altlinux.org>
Subject: Re: [Sysadmins] vsftpd + pam-mysql auth problem
Date: Tue, 25 Jan 2011 19:14:54 +0300
Message-ID: <4D3EF6FE.3060604@front.ru> (raw)
In-Reply-To: <4D3AB39C.5090601@front.ru>

22.01.2011 13:38, Александр пишет:
> попробую описать процесс:
> имеем 530 ошибку - проблема в логине/пароле и/или правах.
> проверяем пошагово.
> mysql, БД vsftpd:
> ---
> CREATE TABLE IF NOT EXISTS `users` (
> `id` int(11) NOT NULL auto_increment,
> `name` char(128) character set utf8 collate utf8_bin NOT NULL,
> `passwd` char(128) character set utf8 collate utf8_bin NOT NULL,
> PRIMARY KEY (`id`)
> ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
> +таблица для логов, но в аутентификации она не участвует. опустим.
> в БД ходит юзер vsftpd с паролем LRqwQ
> ---
> pam.d/vsftpd:
> #%PAM-1.0
> session optional pam_keyinit.so force revoke
> auth required /lib/security/pam_mysql.so user=vsftpd passwd=LRqwQ
> host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd
> crypt=0 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user
> logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost
> logtimecolumn=logtime verbose=1 debug
>
> account required /lib/security/pam_mysql.so user=vsftpd passwd=LRqwQ
> host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd
> crypt=0 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user
> logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost
> logtimecolumn=logtime verbose=1 debug
> ---
> заходим (пытаемся) на ФТП пользователем test с plain-text паролем 111
> логи mysql queries:
> ---
> 89 Connect vsftpd@localhost on vsftpd
> 89 Init DB vsftpd
> 89 Query SELECT passwd FROM users WHERE name = 'test'
> 89 Query INSERT INTO logs (msg, user, host, rhost, pid, logtime) VALUES
> ('AUTHENTICATION FALURE (FIRST_PASS)', 'test', '(unknown)',
> '192.168.хх.хх', '1', NOW())
> ---
> логи PAM secure:
> ---
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - option verbose is set to "1"
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - option debug is set to ""
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_mysql_close_db() called.
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_sm_authenticate() called.
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_mysql_open_db() called.
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_mysql_open_db()
> returning 0.
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_mysql_check_passwd()
> called.
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_mysql_format_string()
> called
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_mysql_quick_escape()
> called.
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - SELECT passwd FROM users
> WHERE name = 'test'
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_mysql_check_passwd()
> returning 6.
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_mysql_sql_log() called.
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_mysql_format_string()
> called
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_mysql_quick_escape()
> called.
> Jan 22 11:49:33 nanoRED last message repeated 3 times
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - INSERT INTO logs (msg, user,
> host, rhost, pid, logtime) VALUES ('AUTHENTICATION FALURE (FIRST_PASS)',
> 'test', '(unknown)', '192.168.', '1', NOW())
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_mysql_sql_log()
> returning 0.
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_mysql_converse() called.
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_sm_authenticate()
> returning 3.
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_mysql_release_ctx() called.
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_mysql_destroy_ctx() called.
> Jan 22 11:49:33 nanoRED vsftpd: pam_mysql - pam_mysql_close_db() called.
> ---
> проблем с соединением с БД нет, данные читаются.
> пароль выбирается из таблицы.
> верно-ли из логов не ясно, но если повторить запрос напрямую, выбирается
> верно.
> интересное сообщение тут:
> http://forum.altlinux.org/index.php/topic,5038.msg71717.html#msg71717
>
> что дальше попробовать?
> ---
> vftpd.log
> ---
> Sat Jan 22 11:49:33 2011 [pid 2] CONNECT: Client "192.168."
> Sat Jan 22 11:49:33 2011 [pid 2] FTP response: Client "192.168.", "220
> (vsFTPd 2.2.1)"
> Sat Jan 22 11:49:33 2011 [pid 2] FTP command: Client "192.168.", "USER
> test"
> Sat Jan 22 11:49:33 2011 [pid 2] [test] FTP response: Client
> "192.168.88.253", "331 Please specify the password."
> Sat Jan 22 11:49:33 2011 [pid 2] [test] FTP command: Client
> "192.168.88.253", "PASS <password>"
> Sat Jan 22 11:49:33 2011 [pid 1] [test] FAIL LOGIN: Client "192.168.88.253"
> Sat Jan 22 11:49:34 2011 [pid 2] [test] FTP response: Client
> "192.168.88.253", "530 Login incorrect."
> Sat Jan 22 11:49:35 2011 [pid 2] FTP command: Client "192.168.", "QUIT"
> Sat Jan 22 11:49:35 2011 [pid 2] FTP response: Client "192.168.", "221
> Goodbye."
> ---
> на папки /home/ftp и ниже даны права 777 для отладки
> ---
> vsftpd.conf:
> ---
> listen=YES
>
> #анонимам
> anonymous_enable=NO
> local_enable=YES
> write_enable=YES
> dirmessage_enable=YES
> anon_mkdir_write_enable=YES
> anon_upload_enable=YES
> anon_other_write_enable=YES
>
> #логи
> xferlog_enable=YES
> log_ftp_protocol=YES
>
> connect_from_port_20=YES
> nopriv_user=novsftpd
>
> #запираем юзеров в их папках
> chroot_local_user=YES
>
> pam_service_name=vsftpd
>
> #говорим, что входящие - гости с именем ...
> guest_enable=YES
> guest_username=ftp_virtual
>
> secure_chroot_dir=/home/ftp
>
> #пользовательские конфиги
> user_config_dir=/usr/local/etc/vsftpd/user_conf
>
> local_root=/home/ftp/$USER
> user_sub_token=$USER
> virtual_use_local_privs=YES
>
> ---
>
>
> 21.01.2011 21:39, Александр пишет:
>> разбираться будем с проблемой?
>> имею мнение, что проблема с дистрибутивом ШС 5.0.2.
>> если кто поопытней сможет проверить работоспособность связки
>> vsftpd+pam-mysql буду оч благодарен.
>> или как-то иначе, но надо решать.
>> модуль pam-mysql - pam-mysql-0.7-alt10.RC1.i586.rpm
>>
>>
>> 15.01.2011 17:26, Александр пишет:
>>> Добрый день,
>>> проблема состоит в невозможности аутентификации в vsftpd через pam-mysql
>>> при хранении юзеров и паролей в БД.
>>> как прийти к пониманию, на чём затык?
>>> пароль не криптованные и криптованные не проходят.
>>> в vsftpd.log
>>> [login] fail login
>>>
>>> подобная тема уже была, но решения, я так понимаю, не нашли:
>>> http://lists.altlinux.org/pipermail/sysadmins/2009-December/031524.html
>>> проблема не в NSS.
>>>
>>> --
>>> С Уважением, Александр

>>
>

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

может, кто-то может принять участие в локализации проблемы, поиске 
источника и устранении?

переписка с самим-собой утомляет :)

-- 
С Уважением, Александр


  reply	other threads:[~2011-01-25 16:14 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-15 14:26 Александр
2011-01-21 18:39 ` Александр
2011-01-22 10:38   ` Александр
2011-01-25 16:14     ` Александр [this message]
2011-01-25 19:51       ` Afanasov Dmitry
2011-01-26 12:31       ` Afanasov Dmitry
2011-01-28 16:23         ` Александр
2011-01-28 19:04           ` Afanasov Dmitry
2011-01-28 23:36             ` Alexey Borisenkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D3EF6FE.3060604@front.ru \
    --to=firmord@front.ru \
    --cc=sysadmins@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git