フォルダセットが特定のプロセスへの書き込みアクセスを許可しない方法が必要です。たとえば、YUM / RPMが/ usr / binに書き込むことを許可しない方法があると思います。
答え1
あなたはできますchrootソフトウェアを次に変換バインドマウントこれらのディレクトリを読み取り専用でマウントするように設定します。
mkdir /foo
mount --bind / /foo
mount --rbind /dev /foo/dev
mount --bind /proc /foo/proc
mount --bind /run /foo/run
mount -t tmpfs tmpfs /foo/tmp
mount --bind /sys /foo/sys
mount --bind /usr/bin /foo/usr/bin
mount -o remount,ro /foo/usr/bin
chroot /foo rpm …
root で実行される悪意のあるプロセスは chroot から抜け出す可能性があるため、これはセキュリティ上の制限ではなく、悪意のないプロセスが書き込まないようにする方法にすぎません。
もう一つの方法は設定することです。SELinuxルール。これはルートとして実行されるプロセスも制限するため、正しく設定すると(重要であり、ファイルアクセスをブロックする以上の機能が必要です)、安全な制限になる可能性があります。
プロセスがrootとして実行されていない場合は、ディレクトリに対する権限でユーザーがそこに書き込むことができないことを確認してください。あなたはそれを使用することができます前方十字靭帯特定のユーザーを除外します。
setfacl -m user:alice:0 /some/dir
/some/dir
ユーザーがアクセスできないようにレンダリングalice
したり、
setfacl -R -m user:alice:rX /some/dir
そのファイルとその下のファイルを読み取ることはできますが、書き込むことはできません。