我们最近聘请了一位外部程序员来为我们开发一些新的后端系统。他请求通过 SSH 访问我们的网络服务器。我们与他合作多年,我对他的信任程度不亚于任何内部员工,因此我并不担心他会故意破坏任何东西。但应该授予他什么权限?假设外部承包商需要大量权限,那么允许他使用您的服务器的良好政策是什么?理想情况下,我想授予他 root 的所有权限,但不能更改其他人的密码,但不确定这是否可行。
答案1
好的政策是始终只授予需要的权限,但这可能会带来很多管理开销。探索 sudoers 文件 (/etc/sudoers) 以开始,您可以发布有关要授予哪些权限的具体问题。
答案2
好吧,既然你可以给他 root 权限,那么你可以做的是跟踪他所做的事而不是限制他。更改密码将是问题较少的事情之一,因为毕竟你会很快知道它。
您可以为他提供普通用户的访问权限,然后允许该用户使用 sudo 执行所需的命令。理想情况下,您不会允许他执行 sudo su 其他用户之类的操作,因为这样您就不会再看到他被跟踪了。
另外,考虑将他的命令日志发送到另一台服务器,这样他就无法完全隐藏他的踪迹。
答案3
我为外部承包商设置了单独的 chroot 环境,这样即使某个地方的权限不对,他们也无法访问我们的文件。SSH 有一个 chroot 选项可用于这些情况。您甚至可以指定获得 chroot 登录的特定用户组。
您对承包商的信任程度可能有所不同,但我会谨慎行事,提供所需的确切信息,不多不少。
答案4
首先授予他普通用户访问权限,然后根据需要进行扩展。须藤将成为实现该目的的首选工具。它允许使用自己的密码选择性地授予 root 权限,并记录调用的所有内容。