看板 Perl 關於我們 聯絡資訊
之前的問題好像是因為use User::pwent才會導致錯誤的樣子 如果我直接使用getpwnam就可以取得user的資訊 但是如果搭配CGI的話密碼或變成'x' 我去網路上找了相關問題 但都沒有人回答 不知道有誰也曾遇過相同問題 修改sub check內部程式碼為 my $userPass=(getpwnam("$FORM{'mysqlWordID'}"))[1]; #取得User的密碼 my $salt=(split(/\$/,$tmpData))[2]; #取得Crypt的$salt my $testPasswd=unix_md5_crypt($FORM{'mysqlWordPass'},$salt); 第一行當中的$userPass如果是在工作站用perl直譯的話 可以跑出密碼 但是如果移植到CGI作業 就會變成'x' -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.232.65.72
LiloHuang:你在工作站是使用root嗎? 我猜是權限問題 01/26 20:06
b60413:權限問題?可以請問一下是檔案的擁有者和群組要設成root嗎? 01/26 23:50
b60413:還是Apache的執行人要設成root? 01/26 23:51
b60413:我在工作站是用root在作測試的 01/26 23:56
b60413:我在工作站換成其他user就會出現x 所以跟權限是有關係 01/27 00:04
b60413:但是 有辦法將CGI執行時的權限改成root嗎? 01/27 00:04
LiloHuang:Google 找找setuid或者suExec的相關資料吧 要改設定 01/27 11:43