Estou tentando configurar um ambiente chroot com apenas bash nele. Isso é o que eu tenho até agora:
[root@free]# tree .
.
├── bin -> usr/bin/
├── dev
├── etc
│ ├── bash.bash_logout
│ ├── bash.bashrc
│ ├── inputrc
│ └── profile
├── lib -> usr/lib/
├── lib64 -> usr/lib64/
├── proc
├── sys
└── usr
├── bin
│ └── bash
├── lib
│ ├── libc.so
│ ├── libc.so.6
│ ├── libdl.so
│ ├── libdl.so.2
│ ├── libncursesw.so.6
│ ├── libreadline.so
│ ├── libreadline.so.7
│ ├── libreadline.so.7.0
│ ├── libtinfo.so
│ └── libtinfo.so.6
└── lib64
└── ld-linux-x86-64.so.2
11 directories, 16 files
ldd
lista o seguinte para bash
:
[root@free]# ldd /bin/bash
linux-vdso.so.1 (0x00007ffd388a3000)
libreadline.so.7 => /usr/lib/libreadline.so.7 (0x00007fa6e0baa000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fa6e09a6000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007fa6e05ea000)
libncursesw.so.6 => /usr/lib/libncursesw.so.6 (0x00007fa6e037d000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fa6e10d8000)
Entrar no ambiente chroot já funciona ( I have no name!
está bom, já que eu não copiei o arquivo passwd):
[root@free jail]# chroot .
[I have no name!@jail]#
O problema
é que, se eu digitar p
e
backspace
w
d
, a linha terá a seguinte aparência:
[I have no name!@jail]#pe wd
executá-lo com enter executará pwd
e imprime
/
também as teclas de seta (esquerda e direita) agem de forma estranha, como imprimir vários caracteres, mas não mover o cursor p
d
left
w
leva a pdwd
. Isso não acontece em bash
fora do chroot.
Como posso corrigir isso?
Esqueci de copiar uma biblioteca ou algo assim? É um problema de libreadline
(já copiei etc/inputrc
)? Ou poderia ser um problema libncursesw
?