php創(chuàng)建帶有效期的linux賬戶
發(fā)布日期:2022-04-30 13:57 | 文章來源:源碼之家
所以只能想辦法讓 webserver 調(diào)用這個(gè)命令了,平時(shí)想要提高權(quán)限只有 su 和 sudo 這兩個(gè)命令,所以我就把思路放在這上面了,可是結(jié)果調(diào)用了這兩個(gè)命令后也還是不行,在網(wǎng)上搜了搜知道可以修改 sudo 的配置來達(dá)到我想要的效果,好了不再?gòu)U話了,下面進(jìn)入正題.
首先 確認(rèn)是否安裝了 sudo 命令
然后修改 /etc/sudoers
因?yàn)?/etc/sudoers 是只讀文件所以要用 visudo 來修改
在結(jié)尾加上一行
用戶名 ALL=NOPASSWD:/usr/sbin/useradd
其上面的用戶名改為你的執(zhí)行 webserver 程序的用戶名
比如 apache 默認(rèn)的用戶名就是 apache
然后再用下面的php代碼就可以了(在主要的地方已經(jīng)標(biāo)上注釋了)
PHP代碼:(請(qǐng)把<后面的空格去掉,否則無法正常使用)
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>';
主要函數(shù)說明
$username 用戶名
$pass 密碼明文
$password 用crypt將密碼加密
$edate 有效期
$expire_date 截止日期
首先 確認(rèn)是否安裝了 sudo 命令
然后修改 /etc/sudoers
因?yàn)?/etc/sudoers 是只讀文件所以要用 visudo 來修改
在結(jié)尾加上一行
用戶名 ALL=NOPASSWD:/usr/sbin/useradd
其上面的用戶名改為你的執(zhí)行 webserver 程序的用戶名
比如 apache 默認(rèn)的用戶名就是 apache
然后再用下面的php代碼就可以了(在主要的地方已經(jīng)標(biāo)上注釋了)
PHP代碼:(請(qǐng)把<后面的空格去掉,否則無法正常使用)
復(fù)制代碼
代碼如下: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>';
主要函數(shù)說明
復(fù)制代碼
代碼如下:$username 用戶名
$pass 密碼明文
$password 用crypt將密碼加密
$edate 有效期
$expire_date 截止日期
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
相關(guān)文章