tech:pb_docker_rhel_centos_5_et_6
Ceci est une ancienne révision du document !
Pb Docker RHEL CentOS 5 et 6
Voir : Kernel Linux syscall
$ docker run --rm -ti centos:centos5 /bin/bash [139] $ $ docker run --rm -ti centos:centos6 /bin/bash [139] $
Impossible de lancer la plupart des commandes. Code de retour d'erreur : 139
Solution
Sur le hôte passer au Kernel Linux l'argument suivant :
vsyscall=emulate
La version de la glibc est trop ancienne et utilise dans anciens appels système !?
Exécutez la commande suivante pour vérifier que votre système a désactivé vsyscall:
cat /proc/self/maps | egrep 'vdso|vsyscall'
La sortie sera semblable à ce qui suit:
7fffccfcc000-7fffccfce000 r-xp 00000000 00:00 0 [vdso]
ou à celui-ci:
7fffe03fe000-7fffe0400000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt
vsyscall= [X86-64,EARLY] Controls the behavior of vsyscalls (i.e. calls to fixed addresses of 0xffffffffff600x00 from legacy code). Most statically-linked binaries and older versions of glibc use these calls. Because these functions are at fixed addresses, they make nice targets for exploits that can control RIP. emulate Vsyscalls turn into traps and are emulated reasonably safely. The vsyscall page is readable. xonly [default] Vsyscalls turn into traps and are emulated reasonably safely. The vsyscall page is not readable. none Vsyscalls don't work at all. This makes them quite hard to use for exploits but might break your system.
tech/pb_docker_rhel_centos_5_et_6.1742901804.txt.gz · Dernière modification : de Jean-Baptiste
