非计算机专业科班,学校里学过 C 语言(甚至汇编语言),自学过数据结构(跨专业考研失败,说多了都是泪),工作后在家里折腾过软路由、NAS 进而学习到一些 LINUX (基本命令和基本编程)和计算机网络(路由和交换)方面的知识。现在因工作需要,想开发一个简易的前端和后端程序,实现以下功能:
WEB 界面含登陆界面,用用户名和密码登入;
登入界面后,出现几个按钮,点击不同的按钮,则执行 LINUX 服务器上的命令并在文本区反馈(比如执行服务器上的脚本,对采集到的数据进行统计,甚至允许开启部分防火墙规则等);
服务器记录该用户的登陆和执行命令方面的操作(包括用户名、时间和执行动作);
用户名和密码管理通过 SSH 进入服务器完成( WEB-UI 不需要此项功能)。
请问该学习哪些方面的知识?用那些编程语言或者框架实现好一些?
谢谢!
1
UnknoownUser 2021-08-17 21:58:12 +08:00 via Android
搜索宝塔面板
|
2
delectate 2021-08-17 21:58:24 +08:00
你需要“宝塔”。
|
3
cmdOptionKana 2021-08-17 22:05:03 +08:00 1
都是一个普通网站的最基本功能,因此学习建站就可以了。
对于无基础的人来说,一般后端可以学习 Python 的 Flask 。前端只简单学一点 html 就可以,为了好看可以再学一点 CSS 。 关于 Flask,有一份非常优秀,也小有名气的教程: https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world 另外,ruby 、Javacript 、Go 、PHP 等各种语言都各自有非常简单的网站框架,也可以挑一个来学。 |
4
pod 2021-08-17 22:48:39 +08:00
webshell ?
|
5
secondwtq 2021-08-17 22:51:13 +08:00
这个我来做可能会用垃圾佬的思路来做
比如我的服务器的登录功能,目前是使用 nginx 配置 HTTP Basic Authentication + HTTPS 实现的,因为需求简单(只有我一个人用),所以用着感觉还蛮好 :) 执行命令可以用大便系统 nginx-extras 包里面带的 Lua 和 Perl 之类的脚本。或者 Python 标准库 http.server 模块简单糊一个。反正只要提供 HTTP 服务肯定得装 nginx,Python 也肯定有。 前端简单写个 HTML,CSS 都不用,框架也不用。数据 fetch 回来直接 document.getElementById("xxx").innerText = 日志就不太清楚了。 主要是因为懒,懒得写各种 boilerplate,写完了还不一定安全。 |
6
DopaminePlz OP @secondwtq 突然想起来自己的 VPS 上有用到,用来下载 OCSERV 用户证书
|