制限された権限とファイルシステムへのアクセスが制限されたプロセスを実行する方法を探しています。私は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_keys
rsync --server --daemon
リモートシェル接続によるrsyncデーモン機能の使用rsync
可能であれば、サーバーの結果プロセスが特定のフォルダのみを変更するように制限したいと思います。systemd-run
rsyncのために特別にこれを達成する他の方法があることを知っていますが、機能に対する一般的な答えに興味があります。