systemd 服务除 1 个文件夹外的所有内容均为只读

systemd 服务除 1 个文件夹外的所有内容均为只读

我将运行一个我不信任的脚本,因为它不会弄乱我的系统。

我想启动一个 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=/.

相关内容