Proviamo così:
- apri un terminale, diventa root e crea dove vuoi una cartella che ci servirà per lavorare. In questo esempio la cartella sarà /root/moduli_audit. Poi spostati in quella cartella.
mkdir /root/moduli_audit
cd /root/moduli_audit
- fai una copia del file audit.log
cat /var/log/audit/audit.log > audit_WICD1
-
apri WICD (da utente normale come fai di solito) e aspetta che abbia caricato tutto e che eventualmente ti appaia l’avviso che selinux ha rilevato un azione non permessa. Poi richiudilo.
-
copia di nuovo il file audit.log
cat /var/log/audit/audit.log > audit_WICD2
- calcola la differenza tra i due file e salvala
diff -e audit_WICD1 audit_WICD2 > diff_WICD
- apri il file con un editor (nell’esempio uso nano ma puoi usare quello che vuoi) e cancella la prima e l’ultima riga che sono un aggiunta del programma diff (le riconosci perché sono molto diverse dalle altre righe, la prima è un numero + una lettera e l’ultima è un punto) [se qualcuno sa come ottenere un output pulito da diff si faccia avanti! così evitiamo un passaggio]. NOTA: forse questo passaggio non è necessario perché audit2allow dovrebbe scartare le righe malformate quindi anche la prima e l’ultima. Ma non ne sono certo perché con fedora 10 non ho avuto un solo problema con selinux e nel file log non c’è niente di utile per fare le prove…Chi volesse/potesse dare conferma farebbe cosa gradita
nano diff_WICD
cancella la prima e l’ultima riga, premi ctrl+o per salvare e ctrl+x per uscire
- genera un modulo contenente i permessi relativi a WICD. Dagli un nome tale da ricordarti che è un modulo fatto da te.
audit2allow -i diff_WICD -M fattodame_modulo_WICD
Ti crea due file: uno .te e l’altro .pp con il nome da te scelto per il modulo. Il primo sono le regole che sono state messe nel modulo espresse in forma testuale e più comprensibile, il secondo è lo stesso file ma “compilato” nel formato dei moduli di SELinux. Il primo postalo qui sul forum così possiamo vedere/controllare.
semodule -i fattodame_modulo_WICD.pp
- controlla se il modulo è caricato
semodule -l | grep fattodame
dovrebbe listarti il modulo appena caricato.
A questo punto i problemi di WICD con SELinux dovrebbero essere risolti! Adesso devi ripetere i passaggi per Google Earth.
cat /var/log/audit/audit.log > audit_GoogleE1
apri Google Earth e richiudilo
cat /var/log/audit/audit.log > audit_GoogleE2
diff -e audit_GoogleE1 audit_GoogleE2 > diff_GoogleE
Cancella la prima e ultima riga (ma come prima questo passaggio forse è inutile)
audit2allow -i diff_GoogleE -M fattodame_modulo_Google_Earth
posta qui il file .te
semodule -i fattodame_modulo_Google_Earth.pp
Infine
semodule -l | grep fattodame
dovrebbe darti tutti e due i moduli appena creati.
E i tuoi problemi con SELinux dovrebbero essersi risolti (speruma).
Ricordati di postare i file .te così possiamo darci un occhiata e possono anche servire ad altri!