Jadikan semua konteks SELinux permanen

9

Saya telah melakukan banyak hal chconakhir-akhir ini, tetapi jika saya memahaminya dengan benar, ini akan dihapus pada relabel berikutnya. Apakah ada cara untuk membuat konteks saat ini (lebih disukai hanya di bawah direktori tertentu) permanen? Saya mengerti ada cara untuk melakukannya menggunakan semanage, tetapi itu berarti kembali dan memeriksa konteks setiap file dan memohon semanageuntuk menetapkan aturan. Jadi adakah cara otomatis untuk melakukannya?

brianmearns
sumber

Jawaban:

5

Pertama, Anda benar yang semanage fcontext -a -t <type> <filepattern>membuat perubahan file permanen dengan menambahkannya ke kebijakan - Anda harus menandai ulang atau restorecon -R -v <filepattern>menerapkan perubahan itu. chcontidak mengubah kebijakan, hanya konteks pada disk.

Anda dapat membuat daftar perbedaan dengan kebijakan berlabel Anda matchpathcon, khususnya:

matchpathcon -V /path/to/file

Sayangnya tidak memiliki opsi rekursif, mungkin karena fakta bahwa berjalan di pohon akan mahal, tetapi Anda bisa mengendarainya dengan:

find / -exec matchpathcon -V {} \;

Namun, berhati-hatilah. Saya percaya find akan melintasi semua mount sistem file termasuk filesystem tanpa atribut tambahan (xattrs) yang dapat menyebabkan masalah. Tentu saja, jika semua sistem file Anda memiliki atribut yang diperluas, tidak ada masalah.

Setelah Anda memiliki daftar ini, Anda kemudian dapat menulis skrip untuk memilih yang Anda akan semanage. Namun, saya tidak tahu cara otomatis untuk melakukan ini dalam satu pukulan.


sumber
3

Menggunakan matchpathcondengan findsangat lambat. Kenapa tidak digunakan restorecon?

restorecon -rnv /path/to/dir

bendera bersifat rekursif, tidak ada perubahan, dan bertele-tele.

pengguna33688
sumber