监视服务器上的某人

我不幸地不得不给予我不完全信任的人有权访问Web服务器来完成他们从未完成的工作。

他们将远程访问服务器(即我将无法看到他们的屏幕)。

可以做些什么:a)主动限制任何潜在的损害,b)事后准确地logging他们在服务器上做的任何分析,即使事情看起来不错。

他们将更新Web应用程序。

提前致谢!

—更多信息:服务器是一个Ubuntu的AWS服务器。

你可以给他们一个没有特权的帐号,但是在/etc/sudoers你只能访问rootsh命令。

rootshlogging在root shell中发生的所有事情,并且可以将日志推送到syslog,并立即将它们发送到外部服务器。

这不是防弹的,但你必须相信这个人在某种程度上甚至可以接受这个想法。

考虑使用configurationpipe理工具的另一种方法。 其中之一可能适合您的需求,更强大:木偶。

让这个人把所有的configuration在一个Puppet文件中完成。 优点:

  • pipe理configuration更改的一个非常强大的方法。 所有都在一个文件中,而不是描述已经完成的工作。
  • 你会保持控制,因为它可以让你…
    • 尝试另一台机器上的configuration并validation它。
    • 决定是否应用它看起来不错。
    • 随时select发生的变化
  • 减less变化发生的时间。 它是自动的。
  • 只需通过自定义configuration定义,您就可以非常容易地重复类似的configuration。

归结起来,负责实际应用程序configuration的人员不需要shell访问,它提供了一种分离他和系统pipe理员的职责的方法。

更新:

也有很大的实际劣势:粉碎这种蚊子是大象,所以它可能不适合你目前的状况。 并不是每个人都熟悉Puppet,低质量的Puppet定义比使用脚本更糟。

这导致我另一个类似但更简单的方法:让他开发一个脚本,运行必要的命令来改变configuration。 它具有上面列出的一些优点,但不需要太多的工具大象。

拍摄快照/在开始前进行备份。

设置该帐户,以便给他一个屏幕会话(可随时附加-rx),可能与脚本启用…