lib64가 lib를 가리킬 때 ldd와 chroot가 투옥됩니까?

lib64가 lib를 가리킬 때 ldd와 chroot가 투옥됩니까?

나는 후속 조치를 취하고 있다이 튜토리얼2단계에서는 여러 bash 종속성을 찾습니다. (Ssh를 통해 로그인한 감옥 사용자를 chroot하려는 명령에 대해 이 작업을 수행해야 한다고 가정합니다.) 튜토리얼 종속성은 모두 에 있지만 /lib64내 것에는 하나가 있고 나머지는 simlink입니다./lib

root@dasHost:/# ldd /bin/bash
        linux-vdso.so.1 (0x00007fffcee04000)
        libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007fddf98f0000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fddf96e0000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fddf92e0000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fddfa000000)

Simlink를 어떻게 처리할 수 있습니까? chroot의 ./lib 디렉토리에 복사하고 평소처럼 Simlink로 연결하면 되나요?

대부분이 소프트 링크인 것 같습니다.

    root@dashost:/# ls -la /lib/x86_64-linux-gnu/libtinfo.so.5
    5629499534705713 lrwxrwxrwx 1 root root 15 May 23  2018 /lib/x86_64-linux-gnu/libtinfo.so.5 -> libtinfo.so.5.9
    root@dasHost:/# ls -lia /lib/x86_64-linux-gnu/libtinfo.so.5
    5629499534705713 lrwxrwxrwx 1 root root 15 May 23  2018 /lib/x86_64-linux-gnu/libtinfo.so.5 -> libtinfo.so.5.9

답변1

Debian 또는 Ubuntu 시스템에서 공유 라이브러리는 다중 아키텍처라는 시스템을 사용하여 저장됩니다. /lib64 디렉토리는 32비트 및 64비트 라이브러리만 지원하는 biarch 시스템용으로 설계된 반면, Debian 및 Ubuntu는 /lib/<triple>이 형식의 디렉토리를 사용하여 시스템 자체에서 지원하지 않는 라이브러리를 포함한 모든 아키텍처에 대한 라이브러리를 지원합니다 .

/lib64/ld-linux-x86-64.so.2설정 방법에 관계없이 동적 링커를 복사해야 합니다 . 심볼릭 링크인 경우 /lib64심볼릭 링크도 복사해야 합니다.

/lib/<triple>또한 공유 라이브러리가 있는 곳이므로 적절한 콘텐츠를 복사했는지 확인해야 합니다 . 최신 시스템에는 실제로 이미 존재하며 /usr심볼릭 링크가 있으므로 다시 복사해야 합니다.

마지막으로 실제 라이브러리를 복사해야 합니다. 일반적으로 실제 라이브러리와 바이너리에 포함된 이름에 대한 기호 링크가 있으며 둘 다 필요합니다.

관련 정보