限制用户只能访问其主目录

限制用户只能访问其主目录

我正在 Linux 环境中设置初级 CTF(夺旗战)。我会提出一些问题,告诉用户运行特定的命令。

我遇到的问题是将用户限制在某个目录中并且只能运行某些命令。

例如玩家需要改变目录然后使用“ls”找到flag并完成挑战。

但我不希望玩家看到服务器中的其他目录,或者让人们能够 cd 到不应该去的地方。

任何帮助将非常感激。

答案1

调查使用受限外壳对于用户来说。结合修改 PATH 来指定一个目录,该目录只包含您允许用户运行的命令(您可以创建这样的目录,然后将指向原始命令的符号链接或硬链接放在那里),它可能会满足您的需要。

答案2

我有两个可能的解决方案:

  1. 仅授予 ctf 用户对其主目录的权限,每个挑战都需要一个不同的用户。每次他们尝试退出目录时都将被拒绝。

我发现另一篇帖子建议使用 adduser 命令:

adduser --home/restricted/directory restricted_user

https://superuser.com/questions/149404/create-an-ssh-user-who-only-has-permission-to-access-specific-folders

  1. 使用docker并在不同的环境中运行每个级别。

希望这可以帮助!

相关内容