lib64がlibを指すとき、lddとchrootは投獄されますか?

lib64がlibを指すとき、lddとchrootは投獄されますか?

私はフォローアップをしています。このチュートリアルステップ2では、いくつかのbash依存関係を見つけます。 (Sshを介してログインした刑務所ユーザーをchrootしたいコマンドに対してこれを行う必要があるとします。)チュートリアルの依存関係はすべてですが、/lib64私のものには1つあり、残りは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シンボリックリンクがあるため、再度コピーする必要があります。

最後に、実際のライブラリをコピーする必要があります。通常、実際のライブラリとバイナリに含まれる名前へのシンボリックリンクがあり、両方が必要です。

関連情報