Fournir / bin et / lib dans une prison chroot


11

J'ai besoin de pouvoir fournir les répertoires / bin et / lib à l'intérieur d'une prison chroot afin que les programmes puissent se lier dynamiquement correctement.

Existe-t-il un moyen d'accomplir cela sans faire une copie des répertoires / bin et / lib dans la prison chroot?

J'ai essayé les liens symboliques, et ils ne fonctionnent pas à l'intérieur des prisons chroot, et les répertoires ne peuvent pas être liés en dur.

Réponses:


14

Vous pouvez utiliser mountpour remonter les répertoires dont vous avez besoin dans votre prison:

# mount --bind /bin /chroot/bin
# mount --bind /lib /chroot/lib
# chroot /chroot

Pour utilisation dans /etc/fstab:

/bin /chroot/bin none bind
/lib /chroot/lib none bind

À votre santé!


2
Merci beaucoup. Linux ne cesse de s'améliorer de mieux en mieux avec moi: p
— lâche anonyme

Je suis content que ça se soit bien passé! À votre santé!
— 2010

3

Si vous ne vouliez pas monter les répertoires comme l'a dit jgr, vous pouvez utiliser cppour copier récursivement des répertoires et créer des liens physiques pour tous les fichiers:

cp -alf /bin /chroot/bin
cp -alf /lib /chroot/lib
chroot /chroot

De cette façon , votre chroot de /binet /libpeut avoir une structure légèrement différente / contenu que les principaux répertoires.


1
Bonne idée, mais si / chroot se trouve sur un autre appareil, cela ne fonctionnera pas. Vous ne pouvez pas créer de lien physique entre les appareils.
— AllenKll

1
#!/bin/bash

copy_file_and_dependencies() {
    PROGRAM="$1"
    DEPENDENCIES="$(ldd "$PROGRAM" | awk '{ print $3 }' | grep -v '(' | grep -v 'not a dynamic executable')"

    mkdir -p "${JAIL}$(dirname $PROGRAM)"
    cp -Lv "$PROGRAM" "${JAIL}${PROGRAM}"

    for f in $DEPENDENCIES; do
        mkdir -p "${JAIL}$(dirname $f)"
        cp -Lv "$f" "${JAIL}${f}"
    done
}

export -f copy_file_and_dependencies

copy_file_and_dependencies /etc/ld.so.cache
copy_file_and_dependencies /bin/sh
# ...

1
L'intention de la question semble être de donner accès aux fichiers existants plutôt que de les copier dans le chroot.
— psusi
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.