需求:做一个 web 端的 linux 用户管理,实现 linux 中用户的创建、修改权限等、hdfs 中用户的创建、权限修改等。 目前的想法是在 web 端做一个内嵌的 linux shell,然后用户的点击操作转化为 linux 命令,对 shell 返回的数据展示等。 有没有其他的解决方案?
1
cyrnicolase 2017-07-18 10:26:37 +08:00
或者你直接就是通过 web 发出一条消息通知到系统,系统后端监控通知过来的命令,只需要不断的去执行这些命令就可以了。不用一定要在 web 端构内嵌 linux shell。
|
2
ningcool 2017-07-18 10:42:14 +08:00
通过脚本(比如 PHP)执行 shell 命令,需要在 php.ini 中关闭安全模式,开启相应函数。
|
3
diveIntoWork OP @ningcool 如果不用 php 呢?个人比较倾向用 java,因为后续功能还要与 hdfs、hadoop、spark 交互。。
|
4
diveIntoWork OP @cyrnicolase 用后端去调用 linux 的系统命令?没试过这样搞,也算是一种方案。
|
5
sampeng 2017-07-18 11:27:01 +08:00
@diveIntoWork 这样搞是最简单的。。。也是最有效的。只是有系统兼容问题。跨平台就没戏了。执行目录可能会变,环境变量会有点问题。linux 的系统命令处理了绝大多数的异常,只要捕获 stderr 和返回值就可以了。。你要自己做?
光创建用户的轮子都得造半天。。。 |
6
leafin 2017-07-18 11:38:34 +08:00
做成普通的 web 界面,摆上按钮和输入框,后台组装成 linux 命令,用 Runtime.exec()执行,捕获输出,处理后展示到前端
|
7
ToughGuy 2017-07-18 11:49:27 +08:00
python+tornado
|
8
ywgx 2017-07-18 12:12:30 +08:00 via iPhone
楼主 我们做好了 xabcloud .com
|
9
diveIntoWork OP @leafin 对,这个流程比较合理。
|
10
diveIntoWork OP @ywgx 能指教一下解决方案吗?。。
|
11
ywgx 2017-07-18 16:01:58 +08:00
@diveIntoWork 其实我们官网把公开的基本都公开了,你们可以参考我们的设计,你们也可以基于 saltstack.com 开发自己的, 需要留意的是,我们是在企业深入实践的场景中做出目前的平台设计, 比如将 login 和 master 分开部署
总控 只调度 管理 各个节点的 login 和 master ; 各个 master 节点只管理自己的 minion 机器,海量的实时监控数据收集走内网 |
12
southwolf 2017-07-18 16:09:38 +08:00
webmin 之类的不是现成的么
|
13
momocraft 2017-07-18 16:18:22 +08:00
如果只要 linux 的用户管理 可能接个目录服务比 shell 要方便。但是不知道你要的其他服务是否也兼容目录服务。
|
15
diveIntoWork OP @southwolf 我们需要针对自己的需求做一些订制。
|
16
diveIntoWork OP @momocraft 许多需求只用 linux 的 LADP 解决不了
|