Rendi permanenti tutti i contesti SELinux


9

chconUltimamente ho fatto molte cose , ma se lo capisco correttamente, questi verranno cancellati con la successiva etichetta. C'è un modo per rendere permanenti i contesti attuali (preferibilmente appena sotto una certa directory)? Capisco che c'è un modo per farlo usando semanage, ma ciò significa tornare indietro e controllare il contesto di ogni file e invocare semanageper impostare una regola. Quindi c'è un modo automatico per farlo?

Risposte:


5

Innanzitutto, hai semanage fcontext -a -t <type> <filepattern>ragione nel rendere permanenti le modifiche ai file aggiungendole al criterio: dovrai rietichettare o restorecon -R -v <filepattern>applicare tali modifiche. chconnon modifica la politica, ma solo il contesto su disco.

Puoi generare un elenco di differenze con la tua politica etichettata con matchpathcon, in particolare:

matchpathcon -V /path/to/file

Sfortunatamente non ha opzioni ricorsive, probabilmente a causa del fatto che camminare sull'albero sarebbe costoso, ma potresti guidarlo con:

find / -exec matchpathcon -V {} \;

Tuttavia, fai attenzione. Credo che find attraverserà tutti i montaggi di file system inclusi i filesystem senza attributi estesi (xattrs) che potrebbero causare problemi. Naturalmente, se tutti i file system hanno attributi estesi, non c'è alcun problema.

Una volta che hai questo elenco, puoi quindi scrivere uno script per scegliere quelli che vuoi semanage. Tuttavia, non conosco un modo automatizzato per farlo in un colpo solo.


3

L'uso matchpathconcon findè molto lento. Perché non usare restorecon?

restorecon -rnv /path/to/dir

i flag sono ricorsivi, senza cambiamenti e dettagliati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.