無意中發現的IGENUS一個小問題
我們公司目前只有一台郵件伺服器,安裝的qmail+mysql+IGENUS。前一段時間由於公司業務需要,新註冊了一個域名,也開通了郵件服務。
現在的情況是同一台主機對應2個不同的域名。1.2.3.4分別對應ab.com和bc.com。
可巧,這2個域名都有一個tech的郵件賬戶,分別對應海外服務和國內服務。結果最近他們總反應密碼不對,經過幾次之後我才發現,如果tech@ab.com修改了自己的密碼以後,tech@bc.com的密碼也就變了。
後來想了一下,覺得問題出現在mysql中,因為用的都是同一個表單的緣故吧。不知道你們是否碰到類似的問題?怎麼解決的?
謝謝
《解決方案》
新進展
剛剛再次做了一個測試,發現如果我直接登陸伺服器,以root身份用vpasswd tech@ab.com 123
來修改密碼的話就不會影響到tech@bc.com,但是如果登陸web界面去修改的話,就會影響到另外一個同名的用戶了
《解決方案》
我認為與 igenus 可能沒有關係吧?
《解決方案》
謝謝大麻
我剛才有做了一遍測試,覺得還是和IGENUS有關,為什麼呢。
我使用qmailadmin也做同樣的密碼修改,發現就不會影響另外一個同名用戶。但是如果在IGENUS的web界面里修改的話就會影響
要不您也試試看?
《解決方案》
我幾乎不懂編程,如果說的不對請見諒。
我覺得問題可能出在passwd.php這裡。感覺在這裡似乎沒有區分開ab.com和bc.com,又因為用戶名完全相同,因此修改其中一個用戶的時候另外一個也變了。但是在使用vpasswd這個命令的時候如果不加域名的話會修改默認的域名下的用戶,如果要修改bc.com的用戶則需要使用vpaswd tech@bc.com這樣的格式。因此沒有問題
《解決方案》
會不會是這一句:
/ 更新密碼
$NewPasswd = crypt($post_Passwd);
$query = "UPDATE vpopmail SET pw_passwd='$NewPasswd',pw_clear_passwd='$post_Passwd' WHERE pw_name='$G_USERNAME'";
$result = @mysql_query($query,$sql);
《解決方案》
我也覺得是跟passwd.php有關.改密時只掃描pw_name=XXX,也就是沒有對域名進行匹配,所以對用戶名相同但域名不一樣的.都設置成同一個密碼.
《解決方案》
謝謝樓上的兄弟。你也測試了么?我不懂PHP,你有解決辦法么?
《解決方案》
自己照葫蘆畫瓢修改了一下,這個問題解決了。
修改後的部分語句為
// 更新密碼
$NewPasswd = crypt($post_Passwd);
$query = "UPDATE vpopmail SET pw_passwd='$NewPasswd',pw_clear_passwd='$post_Passwd' WHERE pw_name='$G_USERNAME' and pw_domain='$G_DOMAIN' ";
[ 本帖最後由 藍火人 於 2007-3-15 15:04 編輯 ]