如何沙箱 Bash shell 只影响当前目录?

int*_*_ua 3 bash

我大量使用 Bash 来自动化我的工作。因此,我经常在提示中 [重新] 编写很长的代码块。有没有办法以任何方式使命令只影响当前目录中的文件?因此,如果我rm -r /home/user/ tmp/pwd/home/user/tmp/pwd. AFAIUchroot不是这里的选择。

Man*_*rth 9

创建一个只能访问此目录的用户:

 useradd -d "`pwd`" -s /bin/bash -c "Temporary" temporary
 passwd temporary
 su temporary
Run Code Online (Sandbox Code Playgroud)

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

userdel temporary
Run Code Online (Sandbox Code Playgroud)

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