欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php創(chuàng)建帶有效期的linux賬戶

  發(fā)布時間:2010-12-20 18:56:00   作者:佚名   我要評論
看到有人問如何用 php 創(chuàng)建帶有效期的 linux 賬戶,我當時就給回復了一個 php 代碼,后來我測試了一下才知道 useradd 這個系統(tǒng)命令之能用root執(zhí)行.
所以只能想辦法讓 webserver 調用這個命令了,平時想要提高權限只有 su 和 sudo 這兩個命令,所以我就把思路放在這上面了,可是結果調用了這兩個命令后也還是不行,在網上搜了搜知道可以修改 sudo 的配置來達到我想要的效果,好了不再廢話了,下面進入正題.

首先 確認是否安裝了 sudo 命令
然后修改 /etc/sudoers
因為 /etc/sudoers 是只讀文件所以要用 visudo 來修改
在結尾加上一行
用戶名 ALL=NOPASSWD:/usr/sbin/useradd
其上面的用戶名改為你的執(zhí)行 webserver 程序的用戶名
比如 apache 默認的用戶名就是 apache

然后再用下面的php代碼就可以了(在主要的地方已經標上注釋了)
PHP代碼:(請把<后面的空格去掉,否則無法正常使用)

復制代碼
代碼如下:

header("content-Type: text/html; charset=utf-8");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
echo '< pre>';
$submit = $_GET['submit'];
$username = $_GET['username'];
$pass = $_GET['pass'];
$password = crypt($pass); //用crypt將密碼加密
$edate = $_GET['edate'];
$self = $_SERVER['PHP_SELF'];
echo '< form methode="GET" action="" >';
echo ' 用戶名 < input type="text" name="username">< /input>';
echo ' 密碼 < input type="text" name="pass">< /input>';
echo ' 有效期 < input type="text" name="edate">< /input>';
echo ' < input type="submit" class="ssubmit" name="submit" value="submit">< /input>';
echo '< /form>';
If ($submit == "submit")
{
$expire_date = date("Y-m-d",time()+($edate*24*60*60));
echo $username;//用戶名
echo '< br/>';
echo $pass;//密碼明文
echo '< br/>';
echo $edate;//有效期
echo '< br/>';
echo $expire_date;//截止日期
echo '< br/>';
system("/usr/bin/sudo /usr/sbin/useradd -e $expire_date -p $password $username");
}
echo '< /pre>';

主要函數說明

復制代碼
代碼如下:

$username 用戶名
$pass 密碼明文
$password 用crypt將密碼加密
$edate 有效期
$expire_date 截止日期

相關文章

最新評論