Qual è il modo corretto di impostare il contesto SELinux in un RPM .spec?


14

Sto cercando di costruire un numero di giri che gli obiettivi RHEL4 e 5. In questo momento mi chiamano chconda %postma più voci Google dice "Non è così che si suppone di farlo" con l'aiuto molto limitato sulla destra strada. Ho anche notato che fixfiles -R mypackage checkdice che i file sono sbagliati quando sono giusti (come previsto; il DB RPM non si rende conto di ciò che voglio) ..

  • Dico specificamente RHEL4 perché non ha semanagequale sembra essere uno dei modi corretti per farlo. (Aggiungi un nuovo criterio e quindi esegui le restorecontue directory %post.)

    • Inoltre non ho bisogno del mio contesto, solo httpd_cache_tsu una directory non standard.
  • Ho anche visto " cpioprendiamoci cura di esso", ma poi ho un nuovo problema che un utente di edificio RPM non root non può eseguire chconnelle directory di compilazione. Ho imbrogliato e inserito sudonel file delle specifiche, ma questo non sembrava importare comunque.

Risposte:


9

Le Linee guida per il packaging di Fedora hanno una bozza di documento che spiega come gestire SELinux nei pacchetti e che usano semanage. Senza semanage, sembra che supportare RHEL 4 sarà un hack, e non c'è modo di evitarlo.

Secondo le note di rilascio di rpm 4.9.0 , c'è stato un certo supporto direttamente in rpm per la gestione delle politiche di SELinux, ma è stato storicamente rotto:

  • Le versioni precedenti di RPM supportavano una direttiva% policy nelle specifiche per il collegamento delle politiche SELinux nell'intestazione del pacchetto, ma ciò non è mai stato realmente utilizzabile per nulla. Qualsiasi utilizzo della direttiva% policy nelle specifiche deve essere rimosso poiché questa direttiva non utilizzata impedisce la creazione con RPM 4.9.0 e versioni successive, senza fare nulla per le versioni precedenti.
  • A partire da RPM 4.9.0, il pacchetto di politiche SELinux è supportato tramite la nuova sezione% sepolicy nelle specifiche. Tali pacchetti non possono essere compilati, ma sono installabili anche su versioni RPM precedenti (ma i criteri inclusi non verranno utilizzati in alcun modo).

Non vedo alcun riferimento ai contesti di file lì e non sono stato in grado di trovare alcun riferimento al supporto del contesto di file diretto (come %attrnella %filessezione). In ogni caso, sembra che RHEL 6 sia solo su rpm 4.8.0, quindi (a meno che non abbia perso qualcosa) il semanagepercorso è buono come saremo in grado di fare almeno fino a RHEL 7.

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.