如何"safely" 允许其他人在我的服务器上工作?
How to "safely" allow others to work on my server?
有时我需要花钱请人来执行一些超出我专业知识的编程。有时那个人是我可能不认识的人。
我目前的需要是配置 Apache,恰好是 运行 在 Centos 上。
无法在我的主要物理服务器上通过 SSH 授予根访问权限。
我有哪些选择?
一个想法是在我的主要物理服务器(操作系统为 Linux)上使用 virtualbox(或同等)创建一个 VPS(来宾为 Linux),让他们做工作,弄清楚他们做了什么,然后自己手动实施更改。
看起来安全吗?也许更好的选择?谢谢
控制权限是 Linux 世界核心的一些魔法。
您... 可以将个人添加为非根用户,然后努力提供对您希望他处理的文件的特定访问权限。
这样做需要相当多的努力才能做到正确。
当然,这是一个途径...如果用户正在编辑类似 Apache 配置文件的内容,为什么不在私有 bitbucket 或 github 存储库中设置文件?
通过这种方式,您可以看到所做的更改,确认它们是合适的,然后在空闲时将它们投入生产。
这意味着一旦进入 chroot "jail" 用户就无法看到监狱的 "outside"。你已经改变了他们的根文件。您可以包含自定义二进制文件,或完全包含 none(我不明白您为什么要这样做,但要点是您决定开发人员可以看到和不能看到的内容。)
我们可以为 chroot 使用一个目录,或者您可以使用我个人最喜欢的:挂载文件,这样您的 "jail" 就很容易移植。
不幸的是我是 Debian 用户,我会使用
debootstrap
为一个小文件(比如 5GB)构建一个最小系统,但似乎没有官方的 RPM 等价物。然而,这个过程相当简单。创建一个文件,我会用 dd if=/dev/zero of=jailFile bs=1M count=5120
这样做。然后我们可以mkfs.ext4 jailFile
。最后,我们必须手动或使用工具挂载并包含我们希望被监禁用户使用的任何文件(这就是 debootstrap
所做的。它将所有默认的好东西下载到 /bin 等)。
完成这些步骤后,您可以复制此文件、进行备份,甚至可以移动服务器。用户端几乎不需要付出任何努力。
通过简短的 google 搜索,似乎有一个第三方工具的功能与 debootstrap
、here 几乎相同。如果您对编译此工具感到满意,可以手动构建一个最小系统,或者可以找到替代方案;并且便携式 ext4 jail 的想法对您很有吸引力,我建议采用这种方法。
如果这个想法没有吸引力,你可以随时chroot一个非常简单的目录。
chroot
上有一些很棒的链接:
https://wiki.archlinux.org/index.php/Change_root
https://wiki.debian.org/chroot
http://www.unixwiz.net/techtips/chroot-practices.html
此外,here and here 是关于将 chroot 与 OpenSSHServer 结合使用的重要链接。
旁注:我不认为这个问题离题,但如果您觉得这里的答案不充分,您也可以随时在 https://serverfault.com/ 上提问!
有时我需要花钱请人来执行一些超出我专业知识的编程。有时那个人是我可能不认识的人。
我目前的需要是配置 Apache,恰好是 运行 在 Centos 上。
无法在我的主要物理服务器上通过 SSH 授予根访问权限。
我有哪些选择?
一个想法是在我的主要物理服务器(操作系统为 Linux)上使用 virtualbox(或同等)创建一个 VPS(来宾为 Linux),让他们做工作,弄清楚他们做了什么,然后自己手动实施更改。
看起来安全吗?也许更好的选择?谢谢
控制权限是 Linux 世界核心的一些魔法。
您... 可以将个人添加为非根用户,然后努力提供对您希望他处理的文件的特定访问权限。
这样做需要相当多的努力才能做到正确。
当然,这是一个途径...如果用户正在编辑类似 Apache 配置文件的内容,为什么不在私有 bitbucket 或 github 存储库中设置文件?
通过这种方式,您可以看到所做的更改,确认它们是合适的,然后在空闲时将它们投入生产。
这意味着一旦进入 chroot "jail" 用户就无法看到监狱的 "outside"。你已经改变了他们的根文件。您可以包含自定义二进制文件,或完全包含 none(我不明白您为什么要这样做,但要点是您决定开发人员可以看到和不能看到的内容。)
我们可以为 chroot 使用一个目录,或者您可以使用我个人最喜欢的:挂载文件,这样您的 "jail" 就很容易移植。
不幸的是我是 Debian 用户,我会使用
debootstrap
为一个小文件(比如 5GB)构建一个最小系统,但似乎没有官方的 RPM 等价物。然而,这个过程相当简单。创建一个文件,我会用 dd if=/dev/zero of=jailFile bs=1M count=5120
这样做。然后我们可以mkfs.ext4 jailFile
。最后,我们必须手动或使用工具挂载并包含我们希望被监禁用户使用的任何文件(这就是 debootstrap
所做的。它将所有默认的好东西下载到 /bin 等)。
完成这些步骤后,您可以复制此文件、进行备份,甚至可以移动服务器。用户端几乎不需要付出任何努力。
通过简短的 google 搜索,似乎有一个第三方工具的功能与 debootstrap
、here 几乎相同。如果您对编译此工具感到满意,可以手动构建一个最小系统,或者可以找到替代方案;并且便携式 ext4 jail 的想法对您很有吸引力,我建议采用这种方法。
如果这个想法没有吸引力,你可以随时chroot一个非常简单的目录。
chroot
上有一些很棒的链接:
https://wiki.archlinux.org/index.php/Change_root
https://wiki.debian.org/chroot
http://www.unixwiz.net/techtips/chroot-practices.html
此外,here and here 是关于将 chroot 与 OpenSSHServer 结合使用的重要链接。
旁注:我不认为这个问题离题,但如果您觉得这里的答案不充分,您也可以随时在 https://serverfault.com/ 上提问!