LinuxForum.Fans
Тема

pam_mysql и sha1

Автор: paran0id 3 сообщений 1935 просмотров
#330229

Debian Wheezy
делаю авторизацию в системе через pam_mysql и libnss_mysql

/etc/pam-mysql.conf

text
users.host              = server.domain.local
users.database          = auth
users.db_user           = nss-root
users.db_passwd         = rootpass
#users.where_clause     = (host)
users.table             = users
#users.update_table     = (update_table)
users.user_column       = username
users.password_column   = password
#users.status_column    = (statcolumn)
users.password_crypt    = 3
#users.use_323_password = (use_323_passwd)
#users.use_md5           = true
#users.where_clause     = (where)
#users.disconnect_every_operation       = (disconnect_every_op) *1
verbose                 = 1
#log.enabled            = (sqllog)
#log.table              = (logtable)
#log.message_column     = (logmsgcolumn)
#log.pid_column         = (logpidcolumn)
#log.user_column        = (logusercolumn)
#log.host_column        = (loghostcolumn)
#log.rhost_column       = (logrhostcolumn) *2
#log.time_column        = (logtimecolumn)

в /etc/pam.d/common-* строки по типу

text
auth required pam_mysql.so config_file=/etc/pam-mysql.conf

Почему-то игнорируется crypt - не удаётся сделать ни md5, ни sha1 - только mysql encrypt. Другие параметры не игнорируются.
В /var/log/auth.log при неудачных попытках авторизации появляется следующее

text

Jul 29 18:24:07 dpt sshd[4900]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=somecomp.domain.local  user=vasya
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - option verbose is set to "1"
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_sm_authenticate() called.
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_open_db() called.
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_open_db() returning 0.
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_check_passwd() called.
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_format_string() called
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_quick_escape() called.
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - SELECT password FROM users WHERE username = 'vasya'
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_check_passwd() returning 6.
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_sql_log() called.
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_sql_log() returning 0.
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_converse() called.
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_open_db() called.
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_check_passwd() called.
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_format_string() called
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_quick_escape() called.
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - SELECT password FROM users WHERE username = 'vasya'
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_check_passwd() returning 6.
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_sql_log() called.
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_mysql_sql_log() returning 0.
Jul 29 18:24:07 dpt sshd[4900]: pam_mysql - pam_sm_authenticate() returning 7.
Jul 29 18:24:09 dpt sshd[4900]: Failed password for vasya from 192.168.10.4 port 59918 ssh2

Куда копать?

#330321

Апдейт. Если сделать su <пользователь из базы>, и от его имени сделать passwd - всё работает, пароль из базы берёт и в базу пишет, crypt адекватный. Но при этом залогиниться в tty/ssh/lightdm может только если пароль в mysql encrypt.

#330357

проблема решена

auth sufficient pam_mysql.so config_file=/etc/pam-mysql.conf

Войдите или зарегистрируйтесь, чтобы ответить.