Hello,

Après la mise à jour de FC6 en FC7 tout semble fonctionner normalement.

Sauf, j'ai haldaemon qui échoue au démarrage. J'ai beau regarder dans dmesg ou messages je ne vois rien.

Avez-vous peut-être une idée où chercher.

Par avance Merci.

Slts
Lal
Vérifie si le service "messagebus" est bien lancé. Hald en a besoin pour fonctionner
C'est bien la méthode de LLaumgui que j'ai utilisé pour faire le passage FC6 en FC7...

Un yum update n'apporte rien.

Merci

Slts
Lal
Atchoum wrote:Vérifie si le service "messagebus" est bien lancé. Hald en a besoin pour fonctionner
Le service messagebus est en cours d'execution.
Hello 😉

Le problème du démarrage de haldaemon est résolu. Voici comment j'ai procédé.

Tout d'abord j'ai trouvé 3 messages dans /var/log/messages quand le démarrage de haldaemon échouait (je sais toujours pas pourquoi je ne les ai pas vu hier .... hmmm... :pint: bref... ) :

Jun 8 14:07:42 monpc setroubleshoot: SELinux is preventing /usr/sbin/hald (hald_t) "getattr" to /var/cache/hald/fdi-cache (var_t). For complete SELinux messages. run sealert -l 07158f54-4748-4544-bd89-b2655a9d435a
Jun 8 14:07:42 monpc setroubleshoot: SELinux is preventing /usr/libexec/hald-generate-fdi-cache (hald_t) "write" to hald (var_t). For complete SELinux messages. run sealert -l c3c22042-0e7b-4c2e-a785-4299fe20174d
Jun 8 14:07:42 monpc setroubleshoot: SELinux is preventing /usr/sbin/hald (hald_t) "read" to fdi-cache (var_t). For complete SELinux messages. run sealert -l 76719222-ed28-4789-9a6f-d2d1de4241af

J'ai donc lancé les 3 commandes demandées (sealert) et ca donne :

Pour la première :

Summary
SELinux is preventing /usr/sbin/hald (hald_t) "getattr" to /var/cache/hald
/fdi-cache (var_t).

Detailed Description
SELinux denied access requested by /usr/sbin/hald. It is not expected that
this access is required by /usr/sbin/hald and this access may signal an
intrusion attempt. It is also possible that the specific version or
configuration of the application is causing it to require additional access.

Allowing Access
Sometimes labeling problems can cause SELinux denials. You could try to
restore the default system file context for /var/cache/hald/fdi-cache,
restorecon -v /var/cache/hald/fdi-cache If this does not work, there is
currently no automatic way to allow this access. Instead, you can generate
a local policy module to allow this access - see
http://fedora.redhat.com/docs/selinux-faq-fc5/#id2961385 Or you can disable
SELinux protection altogether. Disabling SELinux protection is not
recommended. Please file a http://bugzilla.redhat.com/bugzilla/enter_bug.cgi
against this package.

Additional Information

Source Context user_u:system_r:hald_t
Target Context user_u:object_r:var_t
Target Objects /var/cache/hald/fdi-cache [ file ]
Affected RPM Packages hal-0.5.9-8.fc7 [application]
Policy RPM selinux-policy-2.6.4-13.fc7
Selinux Enabled True
Policy Type targeted
MLS Enabled True
Enforcing Mode Enforcing
Plugin Name plugins.catchall_file
Host Name monpc
Platform Linux monpc 2.6.21-1.3194.fc7 #1 SMP Wed May 23
22:35:01 EDT 2007 i686 i686
Alert Count 3
First Seen Fri Jun 8 14:04:48 2007
Last Seen Fri Jun 8 14:07:40 2007
Local ID 07158f54-4748-4544-bd89-b2655a9d435a
Line Numbers

Raw Audit Messages

avc: denied { getattr } for comm="hald" dev=sda5 egid=68 euid=68
exe="/usr/sbin/hald" exit=-13 fsgid=68 fsuid=68 gid=68 items=0 name="fdi-cache"
path="/var/cache/hald/fdi-cache" pid=5061 scontext=user_u:system_r:hald_t:s0
sgid=68 subj=user_u:system_r:hald_t:s0 suid=68 tclass=file
tcontext=user_u:object_r:var_t:s0 tty=(none) uid=68


Pour la seconde :

Summary
SELinux is preventing /usr/libexec/hald-generate-fdi-cache (hald_t) "write"
to hald (var_t).

Detailed Description
SELinux denied access requested by /usr/libexec/hald-generate-fdi-cache. It
is not expected that this access is required by /usr/libexec/hald-generate-
fdi-cache and this access may signal an intrusion attempt. It is also
possible that the specific version or configuration of the application is
causing it to require additional access.

Allowing Access
Sometimes labeling problems can cause SELinux denials. You could try to
restore the default system file context for hald, restorecon -v hald If this
does not work, there is currently no automatic way to allow this access.
Instead, you can generate a local policy module to allow this access - see
http://fedora.redhat.com/docs/selinux-faq-fc5/#id2961385 Or you can disable
SELinux protection altogether. Disabling SELinux protection is not
recommended. Please file a http://bugzilla.redhat.com/bugzilla/enter_bug.cgi
against this package.

Additional Information

Source Context user_u:system_r:hald_t
Target Context system_u:object_r:var_t
Target Objects hald [ dir ]
Affected RPM Packages hal-0.5.9-8.fc7 [application]
Policy RPM selinux-policy-2.6.4-13.fc7
Selinux Enabled True
Policy Type targeted
MLS Enabled True
Enforcing Mode Enforcing
Plugin Name plugins.catchall_file
Host Name monpc
Platform Linux monpc 2.6.21-1.3194.fc7 #1 SMP Wed May 23
22:35:01 EDT 2007 i686 i686
Alert Count 3
First Seen Fri Jun 8 14:04:48 2007
Last Seen Fri Jun 8 14:07:40 2007
Local ID c3c22042-0e7b-4c2e-a785-4299fe20174d
Line Numbers

Raw Audit Messages

avc: denied { write } for comm="hald-generate-f" dev=sda5 egid=0 euid=0
exe="/usr/libexec/hald-generate-fdi-cache" exit=-13 fsgid=0 fsuid=0 gid=0
items=0 name="hald" pid=5063 scontext=user_u:system_r:hald_t:s0 sgid=0
subj=user_u:system_r:hald_t:s0 suid=0 tclass=dir
tcontext=system_u:object_r:var_t:s0 tty=(none) uid=0


Pour la troisième :

Summary
SELinux is preventing /usr/sbin/hald (hald_t) "read" to fdi-cache (var_t).

Detailed Description
SELinux denied access requested by /usr/sbin/hald. It is not expected that
this access is required by /usr/sbin/hald and this access may signal an
intrusion attempt. It is also possible that the specific version or
configuration of the application is causing it to require additional access.

Allowing Access
Sometimes labeling problems can cause SELinux denials. You could try to
restore the default system file context for fdi-cache, restorecon -v fdi-
cache
If this does not work, there is currently no automatic way to allow
this access. Instead, you can generate a local policy module to allow this
access - see http://fedora.redhat.com/docs/selinux-faq-fc5/#id2961385 Or you
can disable SELinux protection altogether. Disabling SELinux protection is
not recommended. Please file a
http://bugzilla.redhat.com/bugzilla/enter_bug.cgi against this package.

Additional Information

Source Context user_u:system_r:hald_t
Target Context user_u:object_r:var_t
Target Objects fdi-cache [ file ]
Affected RPM Packages hal-0.5.9-8.fc7 [application]
Policy RPM selinux-policy-2.6.4-13.fc7
Selinux Enabled True
Policy Type targeted
MLS Enabled True
Enforcing Mode Enforcing
Plugin Name plugins.catchall_file
Host Name monpc
Platform Linux monpc 2.6.21-1.3194.fc7 #1 SMP Wed May 23
22:35:01 EDT 2007 i686 i686
Alert Count 3
First Seen Fri Jun 8 14:04:48 2007
Last Seen Fri Jun 8 14:07:40 2007
Local ID 76719222-ed28-4789-9a6f-d2d1de4241af
Line Numbers

Raw Audit Messages

avc: denied { read } for comm="hald" dev=sda5 egid=68 euid=68
exe="/usr/sbin/hald" exit=-13 fsgid=68 fsuid=68 gid=68 items=0 name="fdi-cache"
pid=5061 scontext=user_u:system_r:hald_t:s0 sgid=68
subj=user_u:system_r:hald_t:s0 suid=68 tclass=file
tcontext=user_u:object_r:var_t:s0 tty=(none) uid=68

A chaque fois il y avait une suggestion de commande à passer pour résoudre éventuellement le problème (en gras ci-dessus). Dans mon cas, seule la commande restorecon -v /var/cache/hald/fdi-cache est passée, les autres ayant échouées. Suite à cela j'ai lancé le service haldaemon : il a démarré et les montages automatiques fonctionnent (testé avec une clef USB).

Voilà, voilà.

A+
Slts
Lal
6 jours plus tard
Bonjour à tous

Voilà je ressors ce post des archives 😉 car j'ai le même problème : hal ne démarre pas. J'ai testé messagebus qui lui est OK. Voilà ce que me donne un cat /var/log/messages | grep hald
Jun 14 18:31:01 localhost kernel: audit(1181838661.451:4): avc:  denied  { write } for  pid=2247 
comm="hald-generate-f" name="hald" dev=sda3 ino=1336487 scontext=
system_u:system_r:hald_t:s0 tcontext=system_u:object_r:var_t:s0 tclass=dir
Ce n'est donc pas lié à SElinux comme dans le pb précédent.

Merci d'avance pour toutes vos suggestions
Personne n'a une petite idée ?
I need somebody's help ! 😉

Merci d'avance

Tondu
19 jours plus tard
Salut Tondu.

J'ai eu le même soucis. Pour le résoudre, je me suis inspiré d'une recommandation de sealert lancé par Lasacien
sealert wrote:Instead, you can generate a local policy module to allow this access - see http://docs.fedoraproject.org/selinux-faq-fc5/#id2961385
J'ai donc copié les messages AVC qui m'interessaient dans un fichier et lancé la commande audit2allow -M local < /tmp/avcs ce qui génére le fichier local.pp que tu dois ensuite charger avec la commande semodule -i local.pp

Avec ça, j'ai pu lancer haldaemon.

Maintenant, est ce que c'est la bonne méthode ?!
J'ai également rencontré ce problème (et d'autres avec SELinux depuis que je l'utilise).

Tout d'abord, l'utilitaire setroubleshoot peut vous être utile pour remonter et analyser les erreurs dues aux excès de zèle de SELinux (un RPM est disponible sur les repos habituels).

Ensuite voila ma méthode (qui en vaut une autre) pour gérer une police locale pour SELinux :

1) Créer un fichier texte nommé AVCs (par exemple) dans lequel on copiera, à la suite, tous les messages AVC pour les deny que l'on veut autoriser. Personnellement, je me suis créer un dossier SElinux_localConf dans le /root (faut être root pour la suite) dans lequel j'ai mon fichier AVCs et où sont créés les fichiers temporaires générés par les commandes suivantes.
Ce fichier teste ne doit jamais être effacé et on doit le compléter à chaque nouveau deny que l'on veux autoriser, car à chaque fois que l'on créer une nouvelle police locale pour SELinux, on écrase la précédente.
2) Passer les commandes suivantes pour créer la nouvelle police locale
audit2allow -M local < avcs
checkmodule -M -m -o local.mod local.te
semodule_package -o local.pp -m local.mod
semodule -i local.pp
3) Faire un peut de ménage dans le répertoire
rm local.*

Et voila en espérant que cela puisse aider... 😉