Bonjour,
J'ai déjà essuyé quelques problèmes avec BackupPC et SElinux... C'était avec BackupPC version 2.1.2, et j''avais réussi à les résoudre.
Depuis lors, je suis passé à la version 3.0.0 de BackupPC (installation manuelle, le paquet n'est pas disponible dans les dépôts) qui a fonctionné jusqu'à la dernière mise à jour de SELinux. Depuis lors, un backup avec rsync sur le localhost donne les erreurs suivantes :
Dans /var/log/messages :
Il est à noter que le backup de cet hôte fonctionne depuis la ligne de commande, les denial SELinux n'aparaissent que lorsque l'appel est effectué par l'interface web. ou automatiquement par le démon. Je précise également que le Backup d'un autre PC sur le réseau via Rsync (qui est aussi sous fc6, SELinux activé) fonctionne parfaitement.
J'ai déjà essuyé quelques problèmes avec BackupPC et SElinux... C'était avec BackupPC version 2.1.2, et j''avais réussi à les résoudre.
Depuis lors, je suis passé à la version 3.0.0 de BackupPC (installation manuelle, le paquet n'est pas disponible dans les dépôts) qui a fonctionné jusqu'à la dernière mise à jour de SELinux. Depuis lors, un backup avec rsync sur le localhost donne les erreurs suivantes :
Dans /var/log/messages :
Jun 16 10:00:04 odysseus setroubleshoot: SELinux is preventing /usr/bin/rsync (rsync_t) "read write" access to socket:[211766] (initrc_t). For complete SELinux message
s. run sealert -l cc632b8a-adeb-4fee-b7e7-3ef9a52fd12b
Jun 16 10:00:04 odysseus setroubleshoot: SELinux is preventing rsync (/usr/bin/rsync) "search" to lib (var_lib_t). For complete SELinux messages. run sealert -l 9da38c
1b-5d85-4cb4-91df-33d7d4177785
Le résultat du premier sealert :
# sealert -l cc632b8a-adeb-4fee-b7e7-3ef9a52fd12b
Summary
SELinux is preventing /usr/bin/rsync (rsync_t) "read write" access to
socket:[211766] (initrc_t).
Detailed Description
SELinux denied access requested by /usr/bin/rsync. It is not expected that
this access is required by /usr/bin/rsync 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.
Please file a http://bugzilla.redhat.com/bugzilla/enter_bug.cgi against this
package.
Allowing Access
Sometimes labeling problems can cause SELinux denials. You could try to
restore the default system file context for socket:[211766], restorecon -v
socket:[211766]. 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 entirely for the application. Disabling SELinux
protection is not recommended. Please file a
http://bugzilla.redhat.com/bugzilla/enter_bug.cgi against this package.
Changing the "rsync_disable_trans" boolean to true will disable SELinux
protection this application: "setsebool -P rsync_disable_trans=1."
The following command will allow this access:
setsebool -P rsync_disable_trans=1
Additional Information:
Source Context: system_u:system_r:rsync_t
Target Context: system_u:system_r:initrc_t
Target Objects: socket:[211766] [ unix_stream_socket ]
Affected RPM Packages: rsync-2.6.9-2.fc6 [application]
Policy RPM: selinux-policy-2.4.6-74.fc6
Selinux Enabled: True
Policy Type: targeted
MLS Enabled: True
Enforcing Mode: Enforcing
Plugin Name: plugins.disable_trans
Host Name: odysseus
Platform: Linux odysseus 2.6.20-1.2952.fc6 #1 SMP Wed May 16 18:59:18 EDT 2007 i686 i686
Alert Count: 1
Line Numbers:
Raw Audit Messages:
avc: denied { read, write } for comm="rsync" dev=sockfs egid=0 euid=0 exe="/usr/bin/rsync" exit=0 fsgid=0 fsuid=0 gid=0 items=0 name="[211766]" path="socket:[211766]" pid=31025 scontext=system_u:system_r:rsync_t:s0 sgid=0 subj=system_u:system_r:rsync_t:s0 suid=0 tclass=unix_stream_socket tcontext=system_u:system_r:initrc_t:s0 tty=(none) uid=0
Et le second :
# sealert -l 9da38c1b-5d85-4cb4-91df-33d7d4177785
Summary
SELinux is preventing rsync (/usr/bin/rsync) "search" to lib (var_lib_t).
Detailed Description
SELinux denied rsync access to lib. If this is a RSYNC repository it has to
have a file context label of rsync_data_t. If you did not intend to use lib
as a rsync repository it could indicate either a bug or it could signal a
intrusion attempt.
Allowing Access
You can alter the file context by executing chcon -R -t rsync_data_t lib
The following command will allow this access:
chcon -R -t rsync_data_t lib
Additional Information:
Source Context: system_u:system_r:rsync_t
Target Context: system_u:object_r:var_lib_t
Target Objects: lib [ dir ]
Affected RPM Packages: rsync-2.6.9-2.fc6 [application]filesystem-2.4.0-1 [target]
Policy RPM: selinux-policy-2.4.6-74.fc6
Selinux Enabled: True
Policy Type: targeted
MLS Enabled: True
Enforcing Mode: Enforcing
Plugin Name: plugins.rsync_data
Host Name: odysseus
Platform: Linux odysseus 2.6.20-1.2952.fc6 #1 SMP Wed May 16 18:59:18 EDT 2007 i686 i686
Alert Count: 11
Line Numbers:
Raw Audit Messages:
avc: denied { search } for comm="rsync" dev=dm-0 egid=0 euid=0 exe="/usr/bin/rsync" exit=-13 fsgid=0 fsuid=0 gid=0 items=0 name="lib" pid=31025 scontext=system_u:system_r:rsync_t:s0 sgid=0 subj=system_u:system_r:rsync_t:s0 suid=0 tclass=dir tcontext=system_u:object_r:var_lib_t:s0 tty=(none) uid=0
La solution proposée dans le premier sealert ne fonctionne pas :
# restorecon -v socket:[211766]
lstat(socket:[211766]) failed: No such file or directory
Celle du second, je ne sais pas trop... Sur quel répertoire "lib" veut-il que j'applique le chcon ? Bref, je suis un peu coincé...Il est à noter que le backup de cet hôte fonctionne depuis la ligne de commande, les denial SELinux n'aparaissent que lorsque l'appel est effectué par l'interface web. ou automatiquement par le démon. Je précise également que le Backup d'un autre PC sur le réseau via Rsync (qui est aussi sous fc6, SELinux activé) fonctionne parfaitement.