天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

在PHP中運行Linux命令并啟動SSH服務的例子

升級 VPS 后,由于 Ubuntu 的 upstart 與 OpenVZ 的兼容問題,導致 sshd 服務不自動啟動了,在嘗試了 vePortal 的 console 與 file manager 及提交技術支持后都不能解決問題之后。

只能靠自己了,大概的思路是在 php 中進行 su 命令以執行 sshd 服務,因為 WordPress 還活著,并且可以在后臺直接編輯主題相關的 php 腳本。只要把準備好的代碼片斷插入到 header.php 中,并在瀏覽器中訪問一下主頁即可。

相關的代碼邏輯
1. 使用 php 的 proc_open 打開一個進程,重定向 stdin, stdout, stderr, 這里會執行一個 Python 程序。
2. 在這個 Python 程序中打開一個 pty,并運行一個 sh。
3. 利用步驟 1 中重定向的 stdin pipe 向 Python 程序發送 su 命令, Python 會將來自 stdin 的命令數據寫到入 ptmx,而這時 sh 的 stdin, stdout 及 stderr 是重定向到與 Python 打開的 ptmx 配對的 pts 上的。也就是說 su 命令最終會轉給 sh 進程處理。
4. sh 進程自然的執行了 su 命令,這時 su 進程的 stdin, stdout, stderr 也會被重定向到那個 pts 上。
5. 在 sleep 一段時間后(主要是等 su 真的跑起來了),再寫入密碼,數據流過程與步驟 3、4 一致。

相關的代碼片斷:
復制代碼 代碼如下:
<?php
  $descriptorspec = array(
    0 => array("pipe", "r"),  // stdin
    1 => array("pipe", "w"),  // stdout
    2 => array("pipe", "w")   // stderr
  );
  $process = proc_open("Python -c 'import pty; pty.spawn(/"/bin/sh/")'", $descriptorspec, $pipes);
  if (is_resource($process)) {
    fwrite($pipes[0], "su -c 'service ssh start' root/n");
    fflush($pipes[0]);
    sleep(3);
    fwrite($pipes[0], "PASSWORD/n");
    fflush($pipes[0]);
    fclose($pipes[0]);
    fclose($pipes[1]);
    fclose($pipes[2]);
    proc_close($process);
  }
?>

php技術在PHP中運行Linux命令并啟動SSH服務的例子,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 99久久爱看免费观看 | 妹妹成人网 | 亚洲成av人影院 | 99久在线国内在线播放免费观看 | 欧美午夜精品A片一区二区HD | 亚洲日韩国产精品乱-久 | 美女露出撒尿的部位 | 绝对诱惑在线试听 | 好男人好资源在线观看 | 我和妽妽在厨房里的激情区二区 | 久久全国免费观看视频 | 亚洲无遮挡无码A片在线 | 973午夜伦伦电影论片 | 黑兽在线观看高清在线播放樱花 | 亚洲AV久久久久久久无码 | 久久免费资源福利资源站 | 久久国内精品视频 | 视频一区国产在线第一页 | 99免费在线| 伊人久久中文 | 亚洲精品久久久午夜麻豆 | 亚洲男人片片在线观看 | 狼人大香伊蕉国产WWW亚洲 | 国产伦精品一区二区三区免费观看 | 99精品欧美一区二区三区美图 | 国产偷抇久久精品A片蜜臀AV | 久久国产香蕉 | 成人毛片手机版免费看 | 日本久久网站 | 啪啪漫画无遮挡全彩h同人 啪啪激情婷婷久久婷婷色五月 | 亚洲日韩中文字幕区 | 国产精品亚洲第一区二区三区 | 琪琪伦伦影院理论片 | 青草视频久久 | 国产小伙和50岁熟女23p | 2022年国产精品久久久久 | 无码日韩人妻精品久久蜜桃免费 | 幼儿交1300部一区二区 | 99国内偷揿国产精品人妻 | H狠狠躁死你H | 亚洲欧美日韩在线观看一区二区三区 |