创建用户自己的“root”

创建用户自己的“root”

因此,我的目标是通过基本上使用核心文件的副本制作循环驱动器来为每个用户提供自己的“根”。我知道有像监狱外壳之类的东西,以及所有这些有趣的东西,可以让它变得更容易一些,但是你仍然可以访问该系统的根文件,而狡猾的混蛋可以进行足够的修补以摆脱监狱。

我的理论是,在用户创建时,循环驱动器会与 root 的副本一起旋转,然后当用户登录时,执行某些操作(可能是 chroot),并将它们弹出到气泡中。我知道用户权限以及不让人们保持诚实的原因,但我本质上不想让那个人知道该设备上有其他人,无论他们看向哪里,除了他们的内容之外什么都不会显示,并且如果以某种方式他们运行了命令并破坏了他们的根环境,它不会触及实际的机器,只会戳破他们的泡沫。我知道我们在快照和其他沙盒工具方面已经取得了很大的进展,以防止东西接触其他东西,但我还没有看到什么可以让用户保持在自己的用户环境中。

我正在抛出一些想法,并且无法思考,这是否是一个 docker 场景,一个虚拟机,它只是在登录时弹出,或者如果它实际上可以通过调整 addusr 和登录参数来实现。

我的理论。

与 Virt 机器一样,有一个“root 用户”(我们称他为 bob)来管理用户帐户,bob 可以添加、删除、修改不可以的内容,还可以管理机器软件和不可以的内容。

然后 bob 想要将 sally 添加到机器,他执行正常的 adduser,然后添加用户旋转 aa 文件 (dd if=/dev/zero of=/home/sal_drive bs=1000M count=60) 旋转一个循环设备,将其添加到fdisk中,然后将一些核心文件复制到其中。

(现在这就是我被绊倒的地方)sally 现在是一个用户,她的 home 设置为 /dev/loop(sally)/home (如果这是正确的语法。或者只是留下 /home/sally 和一个脚本只会将她放在设置了环境的新驱动器上?)

然后莎莉进入登录页面,输入登录信息,然后将其连同根文件和主文件一起放入她的气泡中。

所以问题是,只需在 adduser 和登录脚本中对用户环境进行一些调整,这是否可行,当用户登录时,它会 chroot 到他们的环境,并在注销时重新 Chroot。或者我是否必须创建一个虚拟实例,然后他们以这种方式登录。例如,主机是 charles.local,则登录页面会加载到 login.charles.local,然后 sally 将登录到 sally.charles.local...

答案1

Sally 现在是一个用户,她的 home 设置为 /dev/loop(sally)/home (如果这是正确的语法......

使用/dev/loop(sally)/root/home更好,所以 Sally 可以输入cd ..,但一旦她发现权限或它们不真实,你就会被发现。给这个人一个虚拟机可以让他们真实的经验但要留意崩溃、幽灵和别的TLB 黑客攻击或者经验将是你自己的。

您正在寻找的术语是蜜罐但请记住这句话,几个世纪以来已经有所改变:

雅克·阿巴迪(Jacques Abbadie,1684):“……ont pû tromper quelques hommes,ou les tromper tous dans certains lieux & en certains tems,mais non pas tous les hommes,dans tous les lieux & dans tous les siécles。”

Chinese: 一个人可以愚弄一些人,或者在某些地方和某些时间愚弄所有人,但一个人无法愚弄所有地方和时代的所有人。

专家可能不会被愚弄太久,而新手也不太可能构成那么大的威胁。

请参阅有关该主题的众多文章中的一篇:“提高网络安全性:部署蜜罐“如果没有真实的东西,总会有一个测试会失败,或者有一些方法来检测环境是否不真实。只需在旧计算机上给他们一个虚拟机即可。

相关内容