我已经聘请了一名远程顾问来调整服务器。现在,我对给他root密码并允许他做他想在服务器上做的事情没有100%的信心。理想情况下,我想实时查看他对我的服务器所做的一切,还想找到一种不与他共享root密码的方法。
是否有允许远程顾问访问服务器的最佳实践?
编辑:澄清一下,我想和顾问做一些屏幕共享。有什么方法可以通过他的帐户传送他的命令,而不用他得到任何密码?
PS:我的服务器在Ubuntu 9.10上
我已经聘请了一名远程顾问来调整服务器。现在,我对给他root密码并允许他做他想在服务器上做的事情没有100%的信心。理想情况下,我想实时查看他对我的服务器所做的一切,还想找到一种不与他共享root密码的方法。
是否有允许远程顾问访问服务器的最佳实践?
编辑:澄清一下,我想和顾问做一些屏幕共享。有什么方法可以通过他的帐户传送他的命令,而不用他得到任何密码?
PS:我的服务器在Ubuntu 9.10上
Answers:
与其授予root密码,不如使用sudo。
如果您想以超级用户的身份实时查看他正在做的一切,请查看sudosh2。从文档:
sudosh是审核外壳程序筛选器,可以用作登录外壳程序。Sudosh记录所有击键和输出,并且可以像VCR一样回放会话。
“所有击键”包括来自退格键的击键,删除字符,BASH的“擦除单词”等。您可以观看某人令人尴尬的错别字和更正等。
sudosh将支持syslog,您可以将日志发送到远程syslog服务器。这样可以确保用户无法删除审核日志的所有副本。
这实际上取决于您要授予他/她什么级别的访问权限。我永远不会首先启用远程root登录。仅“普通”帐户应具有远程访问权限,然后根据该人的需要配置sudo。
sudo
对某些命令的访问,例如
我将添加另一个不同的答案以响应您的更新。
使用GNU屏幕,您可以与另一个用户共享屏幕。这意味着他可以键入命令,您会看到他键入的所有内容。您可以键入命令,他可以看到您键入的内容。当提示您输入密码时,您可以输入密码,但是密码内容不会打印到屏幕上(注意:虽然文本没有打印到屏幕上,但是我不确定其他用户是否可以访问或其他方式访问您的击键,或可以访问击键缓冲区等)。
另一个建议:事先将root密码更改为临时密码。他离开后,将root密码恢复为原始密码。