通过 Web 界面进行 Linux 管理的最佳方法是什么

通过 Web 界面进行 Linux 管理的最佳方法是什么

我编写了一些可以执行特定任务的 shell 脚本。

但是我的经理希望应该有一些 Web 界面,他可以在其中运行这些脚本并使用 Web 功能。

现在我不知道如何将 bash 与 web 链接。

我了解 PHP。

另外还有一件事,如果我使用python,我可以制作web界面吗,或者它是否比用bash编程更容易

答案1

如果你的经理坚持认为有一些解决方案,例如网页管理工具或者赞蒂亚尔从 Web 界面管理 GNU/linux 服务器。

您可以轻松地将自己的脚本添加到这些 Web 界面。使用经过测试的产品比自己重新发明 Web 服务的优势在于,这些 Web 服务在开发时考虑到了安全性。

然而作为系统管理员,我鼓励您通过 ssh 仅使用 shell(例如带有屏幕的 bash)来管理您的服务器。

答案2

我强烈不是建议用 PHP 编写一个可以访问 /bin 或其他相关系统部分的软件,并通过 apache 提供服务。因为:PHP 不够严格、可靠和安全,无法实现像 Webmin 这样的程序。

但我完全不明白,为什么经理想要在服务器上执行管理任务?这些真的是管理任务吗?或者你可以用 PHP 从头开始​​编写?我的意思是,如果他只是想缩小图像,你不需要 bash 脚本。

我曾经用 Python 编写过一个远程安装程序,它只能在公司内联网中访问,并使用证书通过 SSH 连接执行了一些脚本。它确实有效,但实际上不是一个好的解决方案。但我建议使用这种方法,以便有一个相对安全的方式来解决这个问题。

答案3

Webmin 允许您通过远程接口使用命令。

http://www.webmin.com/

答案4

如果您不希望您的经理使用 Webmin 工作,而希望有一个简单的用户界面,让您的经理可以直接工作,

是的,你可以使用以下方式链接 PHP 和 BASH执行

  • 创建您的 GUI 目录(例如:/var/www/html/MyManagerGUI/)。

    # mkdir /var/www/html/MyManagerGUI/

  • 将您的 Bash 脚本放在一个目录中(例如:/var/www/MyManagerGUI/Scripts/),并赋予其执行权限。

    # chmod +x /var/www/MyManagerGUI/Scripts/*

  • 在 /var/www/MyManagerGUI/ 中创建 index.php 文件

  • 在您的 index.php 文件中,通过以下方式从 PHP 调用 Bash 脚本:

    <?php exec("cd Scripts/;./MyBash arg1 arg2" , $output); ?>

其中$output,数组包含来自 Bash 的所有结果,MyBash是 Bash 名称,arg1 arg2是可选参数

  • 将 MyManagerGUI/ 所有者更改为 Apahce

    # chown -R apache:apache /var/www/MyManagerGUI/

  • 为了保护你的 GUI,你可以添加.htaccess/var/www/MyManagerGUI/ 中的文件,例如添加用户名和密码或强制 https 访问。

相关内容