簡體   English   中英

如何通過Web訪問處理命令行權限

[英]How to handle command line permissions via web access

這是我正在嘗試做的事情:

我有一個vServer,運行着不同的游戲服務器,語音服務器,機器人等。由於我們社區中有一些不知道如何通過命令行處理服務器的管理員,我想創建一個基本上通過按鈕執行一些命令的網絡界面單擊並顯示服務器將回答的內容。 幾乎一切都工作正常,我使用PHP使用shell_exec()函數執行命令,但是遇到一個問題:www數據用戶沒有執行某些命令所需的權限。 我用谷歌搜索了一些解決方案,現在我知道以root身份運行Apache是​​不明智的,所以我正在尋找另一個解決方案...

有誰知道解決這個問題的“美麗”方法? 我需要說的是,我幾乎是這些東西的初學者,所以請不要期望太多的知識:p

在此先感謝您,以及親切的問候:

一種可能的解決方案是將要運行的所有命令保存在數據庫表中,然后創建一個以root身份在crontab中運行的PHP腳本。 此PHP腳本應具有運行system_exec的權限。

步驟是1)將命令保存在數據庫表=>“ ls / etc / var / log /” 2)PHP腳本/var/www/html/read_commands.php (從表中讀取所有命令並使用system_exec執行)然后刪除命令。 例如

$command_from_table="ls /etc/var/log/";
system_exec($command_from_table);
//delete the command from the table.

3)將/var/www/html/read_commands.php添加到crontab -e。

* * * * * sudo /var/www/html/read_commands.php

這可以給您一個構想,但是有很多方法,可以通過一定的Apache許可來完成,但這違反了安全性。

另外,您還需要確保用戶不能插入諸如rm -rf / lol之類的關鍵命令

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM