1つのフォルダを除くsystemdサービスのすべての内容は読み取り専用です。

1つのフォルダを除くsystemdサービスのすべての内容は読み取り専用です。

私のシステムを台無しにしないので、信頼できないスクリプトを実行します。

スクリプトを実行する必要があるホームディレクトリのフォルダを除いて、すべてが読み取り専用のシェルを起動したいと思います。

かなり近いと思います。

これはすべてをブロックします。

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=/

関連情報