PHP – Web SSH控制台

我必须为第三方系统pipe理员提供root访问权限才能在我的Linux服务器上做一些工作,但是我不希望给他们完全的root权限。

我在想的是我可以创build一个PHP脚本,通过SSHlogin,因此不需要将root密码提供给系统pipe理员。 这样,我也可以轻松地logging他们所做的一切,确保他们不会给自己留下后门,安装恶意的东西,或试图从数据库访问客户信息。

所以我的问题是:

你觉得我是明智的关心这个? 或者有另一种处理这个问题的标准方法? (或者根本没有问题?)

我知道PHP支持SSHfunction。 任何已经存在的开放源代码实现,我想要什么? 还有什么我需要考虑的吗?

这正是sudo目的。 你不需要给他root密码。 相反,你给他自由sudo访问做他所需要的,logging他所有的活动。

如果你使用php脚本或sudo(我更喜欢这个第二种解决scheme),恶意sysadmin拥有和root相同的权限,所以他也可以修改sudo命令的日志。 为了解决这个问题,你可以configurationlinux框把所有的日志发送到远程日志服务器。

我build议以下设置:

  • 创build一个普通的用户,让你的系统pipe理员通过SSHlogin
  • 安装屏幕apt-get install screen
  • 创build一个多用户屏幕会话
  • 在会话中改变当前用户以sudo su为根
  • closures你的写锁,让你的系统pipe理员做他的工作

这样,你将能够看到他在做什么,但不能控制它。 你可以通过任何屏幕共享应用程序来达到同样的效果。 这可以是与您的系统pipe理员build立信任的第一步。 同时,你应该打个电话,让他​​解释他在做什么。