通過PHP修改Linux或Unix口令的方法分享

2022-10-03 13:27:15 字數 1369 閱讀 4734

需要的工具和安裝:

你必須安裝下面的工具和軟體: www.cppcns.com

–修改口令的shell指令碼;

– sudo訪問權;

– apache or lighttpd web伺服器;

– php服務端程式。

步驟1:安裝可以修改使用者口令的shell指令碼

該指令碼可以實際用於修改linux使用者的口令(已在linux和freebsd測試)。

例子: shwww.cppcns.comell指令碼**

#!/bin/sh # \ exec expect -f 「$0″ $ set password [lindex $ar** 1] spawn passwd [lindex $ar** 0] sleep 1 expect 「assword:」 send 「$password\r」 expect 「assword:」 send 「$password\r」 expect eof執行shell指令碼(**鏈結):

$ chpasswd username password**該指令碼,然後拷貝到你的web根目錄或者web伺服器的其它位置(使用者可讀):

$ cp chpasswd /var/www/或者,如果你使用lighttpd web伺服器:

$ cp chpasswd /home/lighttpd步驟2:通過sudo以程式設計客棧root身份執行命令

apache或lighttpd web伺服器進入後台執行後會馬上使用非root許可權。這樣可以很好的防止口令修改,就像passwd命令需要root許可權才能修改其它使用者帳號的口令。

通常, apache 2使用www-data使用者, lighttpd使用lighttpd使用者(皆為普通使用者,非root使用者)。使用root使用者登陸,然後執行下面的命令:

# visudo現在你的web伺服器允許執行口令修改指令碼(chpasswd)。如果你使用apache web伺服器,執行下面的命令:

www-data all=nopasswd: /var/www/chpasswd或者,如果你使用lighttpd web伺服器,執行下面的命令:

httpd all=nopasswd: /home/lighttpd/chpasswd儲存和退出檔案。

步驟3.建立乙個基於php的介面

現在你需要寫乙個php指令碼。這裡有乙個php指令碼例項。你可以根據你的需要來修改。至少你需要正確設定好的shell指令碼位置。開啟php指令碼和找到shellscript一行:

$shellscript = 「sudo /home/lighttpd/c修改shellscript指向到正確的位置。php的源**從這裡**:

步驟4:執行指令碼

在你的web瀏覽器位址列輸入網位址,你將會看到使用者名稱和口令提示:

如果口令修改成功,你會得到的確認提示:

用PHP指令碼修改Linux或Unix系統口令

本文介紹如何使用php 指令碼修改 linux或unix 系統口令。需要的工具和安裝 你必須安裝下面的工具和軟體 修改口令的shell指令碼 sudo 訪問權 apache or lighttpd web 伺服器 php服務端程式。步驟1 安裝可以修改使用者口令的shell指令碼 該指令碼可以實際用...

PHP通過mail 或Socket發郵件

1 php中傳送郵件的方式 1 通過mail 函式傳送郵件 mail 配置php.ini 郵件資訊 需要類似sendmail這樣的元件支援 2 通過socket通訊,使用smtp傳輸 socket 連線 smtp通訊 獲取通訊訊息 傳送 2 mail函式的使用 mail 函式允許您從指令碼中直接傳送...

修改Linux檔案或目錄許可權

linux檔案的基本屬性有9個,分別是owner group others組別的read write excute屬性。各屬性對照如下 r 4 100 w 2 010 x 1 001 將同一組 owner group others 的3個屬性 r w x 累加,例如當屬性為 rwxrwxr 則是 o...