私のシステムを台無しにしないので、信頼できないスクリプトを実行します。
スクリプトを実行する必要があるホームディレクトリのフォルダを除いて、すべてが読み取り専用のシェルを起動したいと思います。
かなり近いと思います。
これはすべてをブロックします。
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
ホーム読み取り専用ですが、ホームrw内では1つのパスしか持てませんか?
答え1
原則として、これら2つのガイドラインを組み合わせることができます。しかし、私はあなたの質問のために少し混乱しています:あなたがしたいと言いました。すべて読み取り専用で、ユーザーのホームディレクトリではありませんが、ProtectHome=read-only
「すべてをブロック」するのですか?ただし、には影響を与えず、のみにProtectHome=read-only
影響します。/
/home
/root
私はこれがあなたが望むことをしなければならないと思います。
sudo systemd-run --pty --pipe --uid=1000 -p ReadOnlyPaths=/ -p ReadWritePaths="$(pwd)"
フルファイルシステム以外のホームディレクトリのみを読み取り専用に設定するには、をProtectHome=read-only
使用しますReadOnlyPaths=/
。