還是mysql虛擬用戶和vsftpd的登陸問題?
/etc/pam.d/vsftpd內容:
auth required /lib/security/pam_mysql.so user=ftpd passwd=123456 host=localhost db=ftpd table=user usercolumn=name passwdcolumn=passwd crypt=0
account required /lib/security/pam_mysql.so user=ftpd passwd=123456 host=localhost db=ftpd table=user usercolumn=name passwdcolumn=passwd crypt=0
用mysql資料庫類的明碼用戶:
insert into users (name,passwd) values ('xiaotong','qqmywife');
可以登陸
但是/etc/pam.d/vsftpd中的 crypt=2 ,
和insert into users (name,passwd) values ('xiaotong',password('qqmywife')); 建立的用戶就無法登陸
這是為什麼???
《解決方案》
還是mysql虛擬用戶和vsftpd的登陸問題?
pam-mysql的README說明文件中有這樣的信息
crypt (plain)
The method to encrypt the user's password:
0 (or "plain") = No encryption. Passwords stored in plaintext.
HIGHLY DISCOURAGED.
1 (or "Y") = Use crypt(3) function.
2 (or "mysql") = Use MySQL PASSWORD() function. It is possible
that the encryption function used by pam-mysql
is different from that of the MySQL server, as
pam-mysql uses the function defined in MySQL's
C-client API instead of using PASSWORD() SQL function
in the query.
3 (or "md5") = Use plain hex MD5
明白了嗎?
[ 本帖最後由 wolfg 於 2005-12-17 21:30 編輯 ]
《解決方案》
還是mysql虛擬用戶和vsftpd的登陸問題?
還是不太明白,你的意思是mysql下的password 函數無法與vsftp匹配??
還請教我,謝謝
《解決方案》
還是mysql虛擬用戶和vsftpd的登陸問題?
原帖由 "hfqaz" 發表:
還是不太明白,你的意思是mysql下的password 函數無法與vsftp匹配??
還請教我,謝謝
沒看明白?
寫的很清楚啊。pam_mysql用的PASSWORD()加密函數是MySQL's C-client里定義的,跟mysql語句裡面的PASSWORD()不一樣,所以驗證總是通不過
《解決方案》
還是mysql虛擬用戶和vsftpd的登陸問題?
那怎麼樣在能使用加密驗證方式呢????
《解決方案》
還是mysql虛擬用戶和vsftpd的登陸問題?
原帖由 "hfqaz"]那怎麼樣在能使用加密驗證方式呢????
試試1或3了
《解決方案》
還是mysql虛擬用戶和vsftpd的登陸問題?
用1或3,好象都無法連接使用password()的用戶啊??
請具體教我吧,謝謝了
《解決方案》
還是mysql虛擬用戶和vsftpd的登陸問題?
原帖由 "hfqaz" 發表:
用1或3,好象都無法連接使用password()的用戶啊??
請具體教我吧,謝謝了
sql語句里用crypt()或md5()函數生成用戶的密碼
《解決方案》
還是mysql虛擬用戶和vsftpd的登陸問題?
使用insert into users (name,passwd) values ('ggg',crypt('123456'));系統出錯
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('123456'))' at line 1
使用3 和md5還是無法登陸!!
別人怎麼那麼容易,我為什麼這麼難呀???
《解決方案》
還是mysql虛擬用戶和vsftpd的登陸問題?
try
insert into users (name,passwd) values ('ggg',ENCRYPT('123456'));