我将运行一个我不信任的脚本,因为它不会弄乱我的系统。
我想启动一个 shell,其中除了脚本应该执行的主目录中的文件夹之外,所有内容都是只读的。
我想我已经很接近了。
这阻止了整个事情:
sudo systemd-run --pty --pipe --uid=1000 --property=ProtectHome=read-only /bin/bash
这几乎是我想要的,但由于 / 仍然是 rw,所以主文件夹的其余部分保持 rw:
sudo systemd-run --pty --pipe --uid=1000 --property=ReadWritePaths=$(pwd) /bin/bash
我可以同时拥有两者,即 home 只读但在 home rw 内只有一个路径吗?
答案1
原则上,您可以组合这两个指令。但我对你的问题有点困惑:你说你想做一切只读而不是用户的主目录,但也ProtectHome=read-only
“阻止了整个事情”?但ProtectHome=read-only
对 没有影响/
,只对/home
和产生影响/root
。
我认为这应该做你想要的:
sudo systemd-run --pty --pipe --uid=1000 -p ReadOnlyPaths=/ -p ReadWritePaths="$(pwd)"
如果您只希望其他主目录是只读的,而不是整个文件系统,请ProtectHome=read-only
使用ReadOnlyPaths=/
.