2014-02-18 48 views
1

我正在寫一個PHP程序來列出用戶信息。如何檢查用戶是否在PHP中被禁用?

我想檢查一個用戶是否在/etc/passwd被禁用,所以我必須檢查一個特定用戶是否有密碼,如*或! in /etc/shadow文件。

這是問題所在,我的Apache服務器無法訪問影子文件,我認爲在任何情況下讀影子文件都不安全。

任何人都可以幫我解決這個問題嗎?

+0

這似乎完全不可能沒有root權限。你會不會以root身份運行apache? :-) http://www.unix.com/hp-ux/43823-disabled-locked-users.html – mansuetus

回答

0

I /使用cron運行的根shell腳本獲取結果。

for line in /etc/shadow store in /var/www/.../users.status.php 
<?php die("do not open this file"); ?> 
username:Active 
username2:Inactive 
... 

II /使得PHP腳本,測試與用戶提交的值創建的文件...

1

/etc/passwd是Apache的文件夾和該文件夾是私人...
不能在大多數服務器訪問它!
如果用戶在服務器上禁用,他無法訪問運行php!

+0

我的意思是從/ etc/passwd中讀取整個用戶列表,並逐一進行判斷。不檢查當前用戶。 – harryz

+1

'你不能在大多數服務器上訪問它!'否則你可以通過php fopen()讀取這個文件並讀取行並檢查它! –

相關問題