"systemd-run --user"を使用してファイルシステムへのプロセスのアクセスを制限できますか?

制限された権限とファイルシステムへのアクセスが制限されたプロセスを実行する方法を探しています。私はsystemd-runこれをrootとして実行するときに完璧に動作することを願っています。

$ sudo systemd-run --pipe --quiet --wait -p ReadOnlyPaths=/ touch ~/nope
/usr/bin/touch: cannot touch '/home/me/nope': Read-only file system

残念ながら、同じオプションが--userスキーマでは機能しないようです。

$ systemd-run --user --pipe --quiet --wait -p ReadOnlyPaths=/ touch ~/nope
$ ls -al ~/nope
-rw-rw-r-- 1 me me 0 Nov  9 13:51 /home/me/nope

非root(Sudoではない)ユーザーとしてこれを使用して、systemd-run制限された権限、ファイルシステムへの制限付きアクセスなどでプロセスを実行できますか?それでは、どうすればいいですか?


メモ:

  • システム機能を使用するには、権限のないユーザーネームスペースが必要であることをオンラインで見たことがありますが、私のコンピュータではProtectHomeそうsysctl出ているのでkernel.unprivileged_userns_clone = 1問題にならないようですか?

  • フレームワークの問題の背景知識:現在、特定のキーを使用しているログインが次のように実行されるように制限するというcommand="rsync --server --daemon ." … ssh-rsa …内容の行があります。.ssh/authorized_keysrsync --server --daemonリモートシェル接続によるrsyncデーモン機能の使用rsync可能であれば、サーバーの結果プロセスが特定のフォルダのみを変更するように制限したいと思います。

    systemd-runrsyncのために特別にこれを達成する他の方法があることを知っていますが、機能に対する一般的な答えに興味があります。

ベストアンサー1

おすすめ記事