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.