linux - 如何让 "safely"允许其他人在我的服务器上工作?

标签 linux apache server virtual-machine

有时我需要花钱请人来执行一些超出我专业知识的编程。有时那个人是我可能不认识的人。

我目前的需求是配置恰好在 Centos 上运行的 Apache。

在我的主要物理服务器上通过 SSH 授予根访问权限不是一种选择。

我有哪些选择?

一个想法是使用 virtualbox(或同等)在我的主要物理服务器(Linux 操作系统)上创建一个 VPS(Linux guest ),让他们完成工作,弄清楚他们做了什么,然后手动实现更改我自己。

看起来安全吗?也许更好的选择?谢谢

最佳答案

我建议查看 chroot 命令。 chroot() changes the root directory of the calling process to that specified in path. This directory will be used for pathnames beginning with /. The root directory is inherited by all children of the calling process.

这意味着,一旦进入 chroot“ jail ”,用户就无法看到 jail 的“外部”。你已经改变了他们的根文件。您可以包含自定义二进制文件,也可以不包含自定义二进制文件(我不明白您为什么要这样做,但关键是您可以决定开发人员可以看到什么和不能看到什么。)

我们可以为 chroot 使用目录,或者你可以使用我个人最喜欢的:挂载文件,这样你的“ jail ”就很容易移植。

不幸的是我是 Debian 用户,我会使用 debootstrap 将最小系统构建到一个小文件(比如 5GB),但似乎没有官方的 RPM 等价物。然而,这个过程相当简单。创建一个文件,我会使用 dd if=/dev/zero of=jailFile bs=1M count=5120 来创建文件。然后我们可以mkfs.ext4 jailFile。最后,我们必须手动或使用工具挂载并包含我们希望被监禁用户使用的任何文件(这就是 debootstrap 所做的。它会下载/bin 等中的所有默认好东西)。

完成这些步骤后,您可以复制此文件、进行备份,甚至移动服务器。用户方面几乎不需要付出任何努力。

通过简短的谷歌搜索,似乎有一个第三方工具与 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

此外,herehere是关于将 chroot 与 OpenSSHServer 结合使用的重要链接。

旁注:我不认为这个问题离题,但如果您觉得这里的答案不充分,您可以随时在 https://serverfault.com/ 上提问还有!

关于linux - 如何让 "safely"允许其他人在我的服务器上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31226138/

相关文章:

.net - 我们可以使用在 Windows 平台上编译的 .NET 程序集,并在 Linux 上使用 mono 依赖 Winsock 吗

java - apache FTPClient 在上传时删除 FTP 上的文件

linux - Rundeck 身份验证错误甚至添加了正确的 ssh_用户名和密码

java - 如果我向服务器发送带有参数的 get 请求,我会收到 405 Method not allowed by Postman

linux - 这个导出某些内容的基本 shell 脚本有什么问题

linux - 通过我服务器上的 php 脚本进行身份验证的方法

linux - 我们如何在 Linux 中指定 unzip 或 7za 命令将多个 zip 文件提取到一个文件夹中,同时保留所有重复项?

php - $_SERVER ["REMOTE_PORT"] 在确定用户设备方面有多可靠?

linux - Linux 上最适合用户私有(private)文件夹的文件夹分布是什么?

ssl - 如何使用 HAproxy 为多个域设置 SSL 直通?