我们的供应商之一需要通过远程login到我们的服务器之一来debugging应用程序的问题。 他们需要有root权限,我打算通过ssh和sudo提供。
我一般都信任供应商,否则我不会考虑,但是我想logging一下他们的行为。
我尝试安装sudosh ,但由于分段故障无法运行。 search出现了一些黑客和技巧,但没有认真的select。
如何logging用户或sudo创build的所有shellinput输出?
sudo做一些日志logging。 你也可以限制他们可以使用的命令。 您可以使用screen的loggingfunction(加上其多显示模式)。 你甚至可以使用我的Bash 日志loggingfunction 。 这些组合将提供保险层。
最终,阻止具有root权限的用户绕过这样的东西是困难的,所以要谨慎。
script将“制作terminal会话的打字稿”
似乎logging一切,这可能是方便的,但如果你使用VIM或其他东西,摧毁虚拟现实,就会轻微分崩离析。
另外一个想到的问题是给承包商login一个“完全安全的帐户”的详细信息(例如没有任何权限的帐户),让他运行screen -x附加到已经运行的根shell(你已经设置并保持关注)。 – 承包商从不需要知道root密码或者可以访问sudo并且可以使用script来监视(并logging)他们所做的任何事情。
你能不能通过诸如vnc或其他方式共享访问你的桌面,让他们通过你的机器访问控制台。 这样,你可以坐下来看看他们在做什么?