Discussion:
rsync haengt mit SE-Linux extended attributes
(zu alt für eine Antwort)
Ulli Horlacher
2024-03-24 10:24:43 UTC
Permalink
Mein linuxclone(*) verwendet rsync um das laufende System in eine andere
disk/partition zu kopieren. Das funktioniert mit diversen Distributionen
nur nicht mit Redhat (7.9). Da haengt sich rsync nach 100000 kopierten
Dateien mit 5 GB auf:


***@sp-i:# linuxclone /dev/mapper/rhel-7
(...)
# rsync -avARSDH -X --delete --force --exclude-from=/tmp/lcx_iUB4Eq.tmp --include-from=/tmp/lci_fcjyJG.tmp -x / /mnt/linuxclone/rhel-7/
sending incremental file list
(...)
/usr/bin/nfsiostat-sysstat
/usr/bin/ngettext
/usr/bin/nice
(haengt)


***@sp-i:# psg rsync
USER PID PPID %CPU S VSZ COMMAND
root 143920 143919 11.0 S 103852 rsync -avARSDH -X --delete --force --exclude-from=/tmp/lcx_Ik6cSW.tmp --include-from=/tmp/lci_eMM8uk.tmp -x / /mnt/linuxclone/rhel-7/
root 143918 143828 5.4 S 84656 rsync -avARSDH -X --delete --force --exclude-from=/tmp/lcx_Ik6cSW.tmp --include-from=/tmp/lci_eMM8uk.tmp -x / /mnt/linuxclone/rhel-7/
root 143919 143918 0.3 S 53348 rsync -avARSDH -X --delete --force --exclude-from=/tmp/lcx_Ik6cSW.tmp --include-from=/tmp/lci_eMM8uk.tmp -x / /mnt/linuxclone/rhel-7/

***@sp-i:# strace -p 143920
strace: Process 143920 attached
select(5, [], [4], [], {tv_sec=55, tv_usec=6217}

***@sp-i:# strace -p 143919
strace: Process 143919 attached
select(2, [], [1], [], {tv_sec=27, tv_usec=213802}

***@sp-i:# strace -p 143918
strace: Process 143918 attached
select(5, [], [4], [], {tv_sec=20, tv_usec=741968}


Brech ich linuxclone und samit rsync mit Ctrl-C ab, bekomme ich hunderte
von Fehlermeldungen:

rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(638) [sender=3.1.2]
rsync: rsync_xal_set: lremovexattr(""/mnt/linuxclone/rhel-7/sw/share/jedlib-0.99-17/jed/lib/.info.sl.f46th0"","security.selinux") failed: Permission denied (13)
rsync: rsync_xal_set: lremovexattr(""/mnt/linuxclone/rhel-7/sw/share/jedlib-0.99-17/jed/lib/.info.slc.HchKcY"","security.selinux") failed: Permission denied (13)
rsync: rsync_xal_set: lremovexattr(""/mnt/linuxclone/rhel-7/sw/share/jedlib-0.99-17/jed/lib/.isearch.sl.Lo407V"","security.selinux") failed: Permission denied (13)
(...)

Schuld sind also wohl die extended attributes von SE-Linux. Lass ich die
Option -X weg, laeuft rsync und somit auch linuxclone durch.
Warumwiesoweshalb?


(*) https://fex.belwue.de/linuxtools/linuxclone.html
--
Ullrich Horlacher Server und Virtualisierung
Rechenzentrum TIK
Universitaet Stuttgart E-Mail: ***@tik.uni-stuttgart.de
Allmandring 30a Tel: ++49-711-68565868
70569 Stuttgart (Germany) WWW: https://www.tik.uni-stuttgart.de/
Gerald E¡scher
2024-03-24 18:04:56 UTC
Permalink
Post by Ulli Horlacher
rsync: rsync_xal_set: lremovexattr(""/mnt/linuxclone/rhel-7/sw/share/jedlib-0.99-17/jed/lib/.isearch.sl.Lo407V"","security.selinux") failed: Permission denied (13)
(...)
Schuld sind also wohl die extended attributes von SE-Linux. Lass ich die
Option -X weg, laeuft rsync und somit auch linuxclone durch.
Warumwiesoweshalb?
Nur so ins Blaue geraten: Die XAs der Datei, bei der rsync -X stolpert,
sind zu groß für das Zieldateisystem.
--
Gerald
Tim Ritberg
2024-03-24 18:19:52 UTC
Permalink
Post by Gerald E¡scher
Post by Ulli Horlacher
rsync: rsync_xal_set: lremovexattr(""/mnt/linuxclone/rhel-7/sw/share/jedlib-0.99-17/jed/lib/.isearch.sl.Lo407V"","security.selinux") failed: Permission denied (13)
(...)
Schuld sind also wohl die extended attributes von SE-Linux. Lass ich die
Option -X weg, laeuft rsync und somit auch linuxclone durch.
Warumwiesoweshalb?
Nur so ins Blaue geraten: Die XAs der Datei, bei der rsync -X stolpert,
sind zu groß für das Zieldateisystem.
hm das Zielsystem kennt diese Attribute nicht?

Tim
Ulli Horlacher
2024-03-24 19:33:45 UTC
Permalink
Post by Tim Ritberg
Post by Ulli Horlacher
rsync: rsync_xal_set: lremovexattr(""/mnt/linuxclone/rhel-7/sw/share/jedlib-0.99-17/jed/lib/.isearch.sl.Lo407V"","security.selinux") failed: Permission denied (13)
(...)
Schuld sind also wohl die extended attributes von SE-Linux. Lass ich die
Option -X weg, laeuft rsync und somit auch linuxclone durch.
Warumwiesoweshalb?
hm das Zielsystem kennt diese Attribute nicht?
***@sp-i:/# mount | grep -E 'root|linuxclone'
/dev/mapper/rhel-root on / type xfs (rw,relatime,seclabel,attr2,inode64,logbsize=64k,sunit=128,swidth=128,noquota)
/dev/mapper/rhel-7 on /mnt/linuxclone/rhel-7 type xfs (rw,relatime,seclabel,attr2,inode64,logbsize=64k,sunit=128,swidth=128,noquota)
--
Ullrich Horlacher Server und Virtualisierung
Rechenzentrum TIK
Universitaet Stuttgart E-Mail: ***@tik.uni-stuttgart.de
Allmandring 30a Tel: ++49-711-68565868
70569 Stuttgart (Germany) WWW: https://www.tik.uni-stuttgart.de/
Ulli Horlacher
2024-03-24 19:28:48 UTC
Permalink
Post by Gerald E¡scher
Post by Ulli Horlacher
rsync: rsync_xal_set: lremovexattr(""/mnt/linuxclone/rhel-7/sw/share/jedlib-0.99-17/jed/lib/.isearch.sl.Lo407V"","security.selinux") failed: Permission denied (13)
(...)
Schuld sind also wohl die extended attributes von SE-Linux. Lass ich die
Option -X weg, laeuft rsync und somit auch linuxclone durch.
Warumwiesoweshalb?
Nur so ins Blaue geraten: Die XAs der Datei, bei der rsync -X stolpert,
sind zu groß für das Zieldateisystem.
Beides mal xfs.
Davon abgesehen hat alles unterhalb von /sw keine xattr, weil ich das
selber angelegt habe.
Und "Permission denied" klingt nicht nach Platzproblem.
--
Ullrich Horlacher Server und Virtualisierung
Rechenzentrum TIK
Universitaet Stuttgart E-Mail: ***@tik.uni-stuttgart.de
Allmandring 30a Tel: ++49-711-68565868
70569 Stuttgart (Germany) WWW: https://www.tik.uni-stuttgart.de/
Stefan Möding
2024-03-24 20:07:54 UTC
Permalink
Post by Ulli Horlacher
Schuld sind also wohl die extended attributes von SE-Linux. Lass ich die
Option -X weg, laeuft rsync und somit auch linuxclone durch.
Warumwiesoweshalb?
Wenn man SELinux einsetzt, dann darf auch root nicht mehr alles. Laut
rsync_selinux(8) kann man rsync zusätzliche Rechte einräumen:

# setsebool -P rsync_full_access 1
--
Stefan
Ulli Horlacher
2024-03-24 21:16:18 UTC
Permalink
Post by Stefan Möding
Post by Ulli Horlacher
Schuld sind also wohl die extended attributes von SE-Linux. Lass ich die
Option -X weg, laeuft rsync und somit auch linuxclone durch.
Warumwiesoweshalb?
Wenn man SELinux einsetzt, dann darf auch root nicht mehr alles. Laut
Bei meinen Redhat Systemen fehlt diese man-page. In welchem Paket ist die
enthalten?
Post by Stefan Möding
# setsebool -P rsync_full_access 1
Hilft leider nicht:

***@sp-i:~# getsebool rsync_full_access
rsync_full_access --> on

***@sp-i:~# linuxclone -f /dev/mapper/rhel-7
(...)
# rsync -avARSDH -X --delete --force --exclude-from=/tmp/lcx_xZF2pk.tmp --include-from=/tmp/lci_khf04y.tmp -x / /mnt/linuxclone/rhel-7/
sending incremental file list
rsync: rsync_xal_set: lremovexattr(""/mnt/linuxclone/rhel-7/bin"","security.selinux") failed: Permission denied (13)
rsync: rsync_xal_set: lremovexattr(""/mnt/linuxclone/rhel-7/client"","security.selinux") failed: Permission denied (13)
rsync: rsync_xal_set: lremovexattr(""/mnt/linuxclone/rhel-7/lib"","security.selinux") failed: Permission denied (13)
rsync: rsync_xal_set: lremovexattr(""/mnt/linuxclone/rhel-7/lib64"","security.selinux") failed: Permission denied (13)
rsync: rsync_xal_set: lremovexattr(""/mnt/linuxclone/rhel-7/sbin"","security.selinux") failed: Permission denied (13)
rsync: rsync_xal_set: lremovexattr(""/mnt/linuxclone/rhel-7/etc/.pwd.lock"","security.selinux") failed: Permission denied (13)
rsync: rsync_xal_set: lremovexattr(""/mnt/linuxclone/rhel-7/etc/.updated"","security.selinux") failed: Permission denied (13)
(...)
haengt
--
Ullrich Horlacher Server und Virtualisierung
Rechenzentrum TIK
Universitaet Stuttgart E-Mail: ***@tik.uni-stuttgart.de
Allmandring 30a Tel: ++49-711-68565868
70569 Stuttgart (Germany) WWW: https://www.tik.uni-stuttgart.de/
Stefan Möding
2024-03-25 16:27:29 UTC
Permalink
Post by Ulli Horlacher
Bei meinen Redhat Systemen fehlt diese man-page. In welchem Paket ist die
enthalten?
Die kommt mit selinux-policy-doc. Wobei ich dann auch gemerkt habe, dass
die Manpage erst seit RedHat-8 existiert. Da du offenbar RedHat-7 nutzt,
könnte das der Grund sein, warum das bei dir nicht funktioniert.

Vermutlich sind die Anpassungen, um rsync unter SELinux lauffähig zu
kriegen, erst in den letzten 10 Jahren implementiert worden und deshalb in
RedHat-7 nicht enthalten.
--
Stefan
Lesen Sie weiter auf narkive:
Loading...