Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Fedora 34 n'est plus maintenu

#1 16/10/2021 17:45:02

fgland
Rédacteur Wiki
Rédacteur Wiki
Lieu : Lituanie
Inscription : 09/08/2004
Messages : 3 590

[Résolu] icecast et Selinux

Bonsoir,

J'ai un serveur de streaming icecast qui marche bien. Je voudrais activer l'enregistrement du flux pour faire certains différés malheureusement cela na marche pas.
journactl me dit :

Oct 16 17:33:17 vpsxxxxxhoot[482126]: SELinux is preventing icecast from rename access on the file error.log. For complete SELinux messages run: sealert -l 7d4b7104-0e01-4b28-9fc7-78e5d0122f8a
Oct 16 17:33:16 vpsxxxxxhoot[482126]: AnalyzeThread.run(): Cancel pending alarm
Oct 16 17:33:16 vpsxxxxxhoot[482126]: AnalyzeThread.run(): Set alarm timeout to 10
Oct 16 17:33:16 vpsxxxxxhoot[482126]: SELinux is preventing icecast from add_name access on the directory enregistrement_2021-10-16_17:33:08.mp3.
                                                          
                                                          *****  Plugin catchall (100. confidence) suggests   **************************
                                                          
                                                          If you believe that icecast should be allowed add_name access on the enregistrement_2021-10-16_17:33:08.mp3 directory by default.
                                                          Then you should report this as a bug.
                                                          You can generate a local policy module to allow this access.
                                                          Do
                                                          allow this access for now by executing:
                                                          # ausearch -c 'icecast' --raw | audit2allow -M my-icecast
                                                          # semodule -X 300 -i my-icecast.pp

je fais mon essai sur /tmp
J'ai appliqué les suggestions mais cela ne marche pas mieux sauf qu'il n'y a plus ces indication dans journactl
avec setenforce = 0, le fichier est bien là, comme il s'agit d'un serveur publique, je préfère laisser Selinux actif !

auriez-vous une idée ?
Merci
Gérard


F36, Kde/plasma (X11), ASUSTeK M5A78L-M/USB3, AMD FX-6300, NVIDIA GM107 [GeForce GTX 750 Ti], 8Go de mémoire

Hors ligne

#2 16/10/2021 18:30:43

VINDICATORs
RédactWikix and the graphicatorix!
Modérateur
Lieu : Toulouse(31) France
Inscription : 23/11/2004
Messages : 18 815
Site Web

Re : [Résolu] icecast et Selinux


AMD R7 5800x, MSI Pro Carbon X470, 64Go DDR4 3.6Ghz Kingston Renegarde C17, RX5700XT MSI OC, SSD : 1xPNY LXR8 1To + 1x970EVO 500Go + 2x500Go 860EVO, 3x1To 860EVO, HDD WD 2To + 4To Black, BeQuiet Dark 900 + Ppower 1kW plat
AMD R7 2700x + 32Go DDR4 3.2Ghz, 1xPNY LXR8 1To, 2x1To 860QVO, rx6500xt 4Go, BMT MBox Q300L
AMD R5 2600, 32Go DDR4 1.8Ghz, 1x250GO SSD, 3x 2To RAID5 WDBlue, 1030GT 2Go, BCubes Chieftec + AMD A6 9500, 16Go DDR4 2.1Ghz, SSD 250Go,3To Red

Hors ligne

#3 16/10/2021 20:12:45

fgland
Rédacteur Wiki
Rédacteur Wiki
Lieu : Lituanie
Inscription : 09/08/2004
Messages : 3 590

Re : [Résolu] icecast et Selinux

maintenant oui ! mais un peu compliqué pour moi.
Je pensais stocker les fichiers dans le répertoire d'un serveur http.
Peut-il y avoir plusieurs context pour un même répertoire ? http et icecast ?

icecast_var_run_t
- Set files with the icecast_var_run_t type, if you want to store the icecast files under the /run directory.
Note: File context can be temporarily modified with the chcon command. If you want to permanently change the file context you need to use the semanage fcontext command. This will modify the SELinux labeling database. You will need to use restorecon to apply the labels.

pas clair pour moi
le _run_ du  type est-il celui du /run de l'exemple ?
on verra demain

merci pour la solution à mettre en place


F36, Kde/plasma (X11), ASUSTeK M5A78L-M/USB3, AMD FX-6300, NVIDIA GM107 [GeForce GTX 750 Ti], 8Go de mémoire

Hors ligne

#4 17/10/2021 10:20:23

VINDICATORs
RédactWikix and the graphicatorix!
Modérateur
Lieu : Toulouse(31) France
Inscription : 23/11/2004
Messages : 18 815
Site Web

Re : [Résolu] icecast et Selinux

Tu peux, mais il faut reconstruire le context ou en créer un nouveau.

J'ai une petite procédure que je dois retrouver.

Tu dois pouvoir aussi faire un :

restorecon -R emplacement

Histoire de voir si ce n'est pas juste un souci d'étiquette.

Pense quand même à le signaler sur le bugzilla histoire de voir si ce n'est pas possible de l'ajouter par défaut.


AMD R7 5800x, MSI Pro Carbon X470, 64Go DDR4 3.6Ghz Kingston Renegarde C17, RX5700XT MSI OC, SSD : 1xPNY LXR8 1To + 1x970EVO 500Go + 2x500Go 860EVO, 3x1To 860EVO, HDD WD 2To + 4To Black, BeQuiet Dark 900 + Ppower 1kW plat
AMD R7 2700x + 32Go DDR4 3.2Ghz, 1xPNY LXR8 1To, 2x1To 860QVO, rx6500xt 4Go, BMT MBox Q300L
AMD R5 2600, 32Go DDR4 1.8Ghz, 1x250GO SSD, 3x 2To RAID5 WDBlue, 1030GT 2Go, BCubes Chieftec + AMD A6 9500, 16Go DDR4 2.1Ghz, SSD 250Go,3To Red

Hors ligne

#5 17/10/2021 11:52:03

fgland
Rédacteur Wiki
Rédacteur Wiki
Lieu : Lituanie
Inscription : 09/08/2004
Messages : 3 590

Re : [Résolu] icecast et Selinux

je vais de fait avoir besoin d'un peu d'aide :

# chcon -R -t icecast_t /var/www/html/stream
chcon: failed to change context of 'index.php' to ‘unconfined_u:object_r:icecast_t:s0’: Permission denied
chcon: failed to change context of '/var/www/html/stream' to ‘unconfined_u:object_r:icecast_t:s0’: Permission denied

j'attends ta procédure pour continuer, pour l'instant il ignore complètement le chemin indiqué dans /etxc/icecast.xml ! plus d'erreur SElinux

j'ai cherché les dossiers ayant le bon contexte

# semanage fcontext -l | grep 'icecast_var_run_t'
/var/run/icecast(/.*)?                             all files          system_u:object_r:icecast_var_run_t:s0 
/var/run/icecast\.pid 

mais le résultat est surprenant car /var/run/icecast n'existe pas
créer le dossier  /var/run/icecast ne change rien

je sèche...

en dernier recours, je pourrais mettre les fichiers dans un dossier accepté par icecast et Selinux et faire une routine pour les déplacer dans le dossier html si on ne peut y mettre deux contexts.
Merci

Gérard

Dernière modification par fgland (17/10/2021 17:57:19)


F36, Kde/plasma (X11), ASUSTeK M5A78L-M/USB3, AMD FX-6300, NVIDIA GM107 [GeForce GTX 750 Ti], 8Go de mémoire

Hors ligne

#6 18/10/2021 10:54:00

fgland
Rédacteur Wiki
Rédacteur Wiki
Lieu : Lituanie
Inscription : 09/08/2004
Messages : 3 590

Re : [Résolu] icecast et Selinux

J'ai un peu avancé,
j'avais mis le dossier /var/run/icecast en 755 mais il fallait qu'il appartienne à icecast.
J'ai remis les fichiers dans /var/www/html/stream avec les droits et context icecast et les  fichiers sont bien là mais apache ne peut les lire

Warning: opendir(./stream): failed to open dir: Permission denied

avec setenforce 0, j'ai bien la liste
Reste donc comment mettre deux context à un dossier pour que icecast puisse y écrire et apache le lire


F36, Kde/plasma (X11), ASUSTeK M5A78L-M/USB3, AMD FX-6300, NVIDIA GM107 [GeForce GTX 750 Ti], 8Go de mémoire

Hors ligne

#7 18/10/2021 12:05:10

VINDICATORs
RédactWikix and the graphicatorix!
Modérateur
Lieu : Toulouse(31) France
Inscription : 23/11/2004
Messages : 18 815
Site Web

Re : [Résolu] icecast et Selinux

Normalement c'est l'utilisateur apache qui doit avoir les droits dans ce répertoire.

Regarde si tu peux ajouter le groupe à icecast ou inversement icecast à apache.


AMD R7 5800x, MSI Pro Carbon X470, 64Go DDR4 3.6Ghz Kingston Renegarde C17, RX5700XT MSI OC, SSD : 1xPNY LXR8 1To + 1x970EVO 500Go + 2x500Go 860EVO, 3x1To 860EVO, HDD WD 2To + 4To Black, BeQuiet Dark 900 + Ppower 1kW plat
AMD R7 2700x + 32Go DDR4 3.2Ghz, 1xPNY LXR8 1To, 2x1To 860QVO, rx6500xt 4Go, BMT MBox Q300L
AMD R5 2600, 32Go DDR4 1.8Ghz, 1x250GO SSD, 3x 2To RAID5 WDBlue, 1030GT 2Go, BCubes Chieftec + AMD A6 9500, 16Go DDR4 2.1Ghz, SSD 250Go,3To Red

Hors ligne

#8 18/10/2021 17:08:51

fgland
Rédacteur Wiki
Rédacteur Wiki
Lieu : Lituanie
Inscription : 09/08/2004
Messages : 3 590

Re : [Résolu] icecast et Selinux

pas si simple car le problème est sur SElinux.
le dossier est soit
icecast_var_run_t et apache ne peut le lire
soit
httpd_sys_content_t et icecast ne peut y écrire

Quel que soit l'endroit du dossier, il y aura conflit

Le fait de mettre icecast propriétaire permet d'avoir le dossier en lecture seule pour apache, il ne se plaint pas si je désactive SElinux


F36, Kde/plasma (X11), ASUSTeK M5A78L-M/USB3, AMD FX-6300, NVIDIA GM107 [GeForce GTX 750 Ti], 8Go de mémoire

Hors ligne

#9 21/10/2021 09:57:10

fgland
Rédacteur Wiki
Rédacteur Wiki
Lieu : Lituanie
Inscription : 09/08/2004
Messages : 3 590

Re : [Résolu] icecast et Selinux

je suis arrivé à un résultat satisfaisant
icecast copie les fichiers dans son dossier.
Quand j'arrête la retransmission, j'appelle un fichier surveillé par inotify qui en tant que root déplace le(s) fichier(s) et modifie l’étiquette SElinux dans un dossier lisible par apache.
Merci pour votre aide
Gérard


F36, Kde/plasma (X11), ASUSTeK M5A78L-M/USB3, AMD FX-6300, NVIDIA GM107 [GeForce GTX 750 Ti], 8Go de mémoire

Hors ligne

#10 21/10/2021 11:04:18

VINDICATORs
RédactWikix and the graphicatorix!
Modérateur
Lieu : Toulouse(31) France
Inscription : 23/11/2004
Messages : 18 815
Site Web

Re : [Résolu] icecast et Selinux

Sinon voilà la petite procédure (par exemple) avec avec les explications pour installer :
Après avoir créer le fichier " logssamba.mod"

module logssamba 1.0;

require {
type sambasharet;

type syslogd_t;

class file { ioctl read write create getattr setattr lock append unlink link rename open };

class dir { search getattr write add_name };

}

#============= syslogd_t ==============

allow syslogdt sambashare_t:file { ioctl read write create getattr setattr lock append unlink link rename open } ;

allow syslogdt sambasharet:dir { search getattr write addname };

Pour l'installer :

sudo checkmodule -M -m -o logssamba.mod logssamba.te

sudo semodulepackage -o logssamba.pp -m syslogsamba_policy.mod

sudo semodule -i logssamba.pp

AMD R7 5800x, MSI Pro Carbon X470, 64Go DDR4 3.6Ghz Kingston Renegarde C17, RX5700XT MSI OC, SSD : 1xPNY LXR8 1To + 1x970EVO 500Go + 2x500Go 860EVO, 3x1To 860EVO, HDD WD 2To + 4To Black, BeQuiet Dark 900 + Ppower 1kW plat
AMD R7 2700x + 32Go DDR4 3.2Ghz, 1xPNY LXR8 1To, 2x1To 860QVO, rx6500xt 4Go, BMT MBox Q300L
AMD R5 2600, 32Go DDR4 1.8Ghz, 1x250GO SSD, 3x 2To RAID5 WDBlue, 1030GT 2Go, BCubes Chieftec + AMD A6 9500, 16Go DDR4 2.1Ghz, SSD 250Go,3To Red

Hors ligne

Pied de page des forums