如何使 Bash shell 沙盒化以仅影响当前目录?

如何使 Bash shell 沙盒化以仅影响当前目录?

我大量使用 Bash 来自动化我的工作。因此,我经常在提示符中 [重写] 长段代码。有没有办法让命令以任何方式仅影响当前目录中的文件?因此,如果我写了一些类似的东西,rm -r /home/user/ tmp/pwd当我在 时,它不会影响所有用户的文件/home/user/tmp/pwd。AFAIUchroot在这里不是一个选项。

答案1

创建仅具有此目录访问权限的用户:

 useradd -d "`pwd`" -s /bin/bash -c "Temporary" temporary
 passwd temporary
 su temporary

用这个用户做你想做的事。当前目录是他的主目录,他不能破坏目录之外的任何东西。完成后,使用Ctrl-退出 su D,然后执行以下操作:

userdel temporary

.bashrc您可以在文件中为此创建快捷命令

相关内容