PHP - Web SSH 控制台

PHP - Web SSH 控制台

我必须授予第三方系统管理员 root 访问权限以便在我的 Linux 服务器上执行一些工作,但我不想授予他们完全 root 访问权限。

我在想,我可以创建一个 PHP 脚本,通过 SSH 登录,这样就不需要向系统管理员提供 root 密码了。这样,我还可以轻松记录他们所做的一切,以确保他们不会给自己留后门、安装恶意软件或尝试从数据库访问客户信息。

我的问题是:

您认为我担心这个问题明智吗?或者还有其他标准方法可以解决这个问题?(或者根本不是问题?)

我知道 PHP 支持 SSH 功能。有没有现成的开源实现可以满足我的需求?我还需要考虑其他什么吗?

答案1

这正是它sudo的目的。你不需要给他 root 密码。相反,你给他自由的sudo访问权限来做他需要做的事情,这会记录他的所有活动。

答案2

如果您使用 php 脚本或 sudo(我更喜欢第二种解决方案),恶意系统管理员将拥有与 root 相同的权限,因此他也可以修改 sudo 命令的日志。为了解决这个问题,您可以配置 Linux 系统将所有日志发送到远程日志服务器。

答案3

我建议采用以下设置:

  • 创建一个普通用户以允许您的系统管理员通过 ssh 登录
  • 安装屏幕apt-get install screen
  • 创建一个多用户屏幕会话
  • 在会话中将当前用户更改为 rootsudo su
  • 关闭写锁,以允许系统管理员完成他的工作

这样,您将能够看到他在做什么,但无法控制它。您通常可以使用任何屏幕共享应用程序实现相同的效果。这可以成为与系统管理员建立信任的第一步。同时,您应该给他打个电话,让他​​解释他在做什么。

相关内容