Diagnostica dell'output di errore rsync

Ho ereditato un sistema Centos 6.5 che emette più righe di errori durante l'esecuzione di un rsync . Il rsync sta sincronizzando con un'unità collegata localmente montata come /storage . Il command è:

 rsync -aAXv /* /storage/backup/ --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/storage/*} 

Ci sono tre diversi tipi di errori rilevati dopo # Error concern 1, # Error concern 2, # Error concern 3 nell'output di seguito:

 rsync -aAXv /* /storage/backup/ --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/storage/*} sending incremental file list etc/cron.d/ root/ root/.bash_history root/.viminfo selinux/booleans/abrt_anon_write selinux/booleans/abrt_handle_event selinux/booleans/allow_console_login [...] # Error concern 1: There are probably 80 or more of these mkstemp errors, but I've shortened it: rsync: mkstemp "/storage/backup/selinux/class/x_pointer/perms/.setfocus.0C5BYW" failed: Permission denied (13) rsync: mkstemp "/storage/backup/selinux/class/x_pointer/perms/.use.iRMquA" failed: Permission denied (13) rsync: mkstemp "/storage/backup/selinux/class/x_pointer/perms/.write.rHXg0d" failed: Permission denied (13) rsync: mkstemp "/storage/backup/selinux/class/x_property/.index.Zwc8vR" failed: Permission denied (13) rsync: mkstemp "/storage/backup/selinux/class/x_property/perms/.append.tTK01u" failed: Permission denied (13) rsync: mkstemp "/storage/backup/selinux/class/x_property/perms/.create.KGNUx8" failed: Permission denied (13) rsync: mkstemp "/storage/backup/selinux/class/x_property/perms/.destroy.IiUP3L" failed: Permission denied (13) [...] # Error concern 2: tmp/ rsync: rsync_xal_clear: lremovexattr("storage","security.selinux") failed: Permission denied (13) var/cache/man/whatis [...] # Error concern 3: var/run/utmp rsync: set_acl: sys_acl_set_file(var/run/cups/certs/0, ACL_TYPE_ACCESS): Operation not supported (95) var/run/postgresql/.s.PGSQL.5432.lock [...] # Finishing output: sent 4288406721 bytes received 52199 bytes 86635533.74 bytes/sec total size is 22337384552 speedup is 5.21 rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6] 

Gli appunti

Il rsync sembra funzionare normalmente finché non colpisce una parte particolare della directory /selinux con file nascosti. Quando SELinux è impostato su permissive, setenforce 0 , questi errori non si verificano. Anche se si verifica ancora l' # Error concern 2 e # Error concern 3 .

Il context SELinux della directory /selinux e delle directory di /storage è il seguente:

 drwxr-xr-x. root root system_u:object_r:security_t:s0 selinux drwxr-xr-x. root root system_u:object_r:file_t:s0 storage # /storage/backup directory drwxr-xr-x. root root unborderd_u:object_r:public_content_t:s0 backup 

Finora per # Error concern 2 e # Error concern 3 non ho piombo.

Fathemes sapere se manco qualcosa. Non sono così ben conosciuto con CentOS 6.5 come io sono con 7 perché non so perché c'è una directory /selinux di / . Ho un server CentOS 7.2 che fa lo stesso rsync su un'unità di archiviazione collegata senza problemi. Qualsiasi aiuto o suggerimento sarebbe molto apprezzato.

Aggiorna 1

Ho cambiato il context SELinux su /storage/backup a public_content_rw_t tramite:

 semanage fcontext -a -t public_content_rw_t "/storage/backup(/.*)?" restorecon -Rv /storage/backup 

Riprenderò presto il rsync e segnalare se questo ha cambiato qualcosa.

Aggiorna 2

Ho eseguito nuovamente il rsync con il nuovo context di sicurezza e sto ottenendo gli stessi risultati di errore. Mi chiedo se rsyncing la directory /selinux è davvero valsa la pena poiché il sistema dovrebbe avere /etc/selinux backup comunque che avrebbe tutti i contesti se il sistema avrebbe bisogno di rielaborare se stesso. Qualcuno può suonare su questo?

Aggiornamento 3

Mi appoggio a non eseguire il backup della directory /selinux . Il sestatus mostra queste differenze tra CentOS 6.5 e CentOS 7.2:

 CentOS 6.5 SELinux status: enabled SELinuxfs mount: /selinux Current mode: enforcing CentOS 7.2 SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing 

Da ciò che ho raccolto da questa directory la directory /selinux viene utilizzata come punto di assembly per il file system SElinux? Mi chiedo se questa è la causa degli errori.

  • Prestazione ha colpito SELinux su alto traffico Apache?
  • CentOS 7 - Le directory create tramite VSFTPD non ereditano contesti SELinux
  • Come disabilitare il Docker Daemon per montare il file system root nel contenitore
  • Amministratore di networking
  • Eseguire logstash in SELinux
  • SELinux: Limitare le connessioni in output di httpd per indirizzo e port?
  • Come abilitare SELinux all'interno di un contenitore Centox Docker?
  • Abilitare SELinux sul contenitore Centos7 LXC con l'host Ubuntu 14.04
  • One Solution collect form web for “Diagnostica dell'output di errore rsync”

    La differenza tra /selinux e /etc/selinux (in RHEL / CentOS 6) è che il primo è un "pseudo flesystem per l'esportzione della API delle politiche di protezione" (ricorda che il controllo di accesso obbligatorio è eseguito dal kernel); mentre quest'ultimo "contiene file di configuration che sono locali alla macchina" .

    Non dovresti includere il /selinux pseudo file system di /selinux (o altro) durante la sincronizzazione.

    C'è un buon Q / A su Unix e Linux su questo argomento, con una documentazione molto utile collegata.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.