나는 chroot를 가지고 있고 chroot가 .inputrc
시작 시 자체 파일을 갖고 프로그램을 실행하도록 하려고 합니다.
나는 chroot를 사용하여 부팅하는 데 익숙 chroot <PATH> <PROGRAM_TO_RUN>
하므로 시도해 보았습니다.
chroot <PATH> bind -f <PATH_IN_CHROOT>/.inputrc && <PROGRAM_TO_RUN>
하지만 오류가 발생합니다.
chroot: failed to run command ‘bind’: No such file or directory
설명서를 읽어 보니 이것이 내장 되어 있다는 것을 readline
알았습니다 . 그래서 다음과 같이 실행 명령을 사용해 보았습니다 .bind
bash
builtin
chroot <PATH> builtin bind -f <PATH_IN_CHROOT>/.inputrc && <PROGRAM_TO_RUN>
하지만 같은 오류가 발생했습니다.
chroot: failed to run command ‘builtin’: No such file or directory
&&
테스트했기 때문에 chroot를 통해 두 프로그램을 함께 실행하는 것을 알고 있습니다.
~# chroot <PATH> echo "yo" && echo "Hi"
yo
Hi
~#
나는 또한 이 bind
명령과 builtin
명령이 chroot에서 독립적으로 작동한다는 것을 알고 있습니다:
~# chroot <PATH> bash
/# builtin -h
bash: builtin: -h: invalid option
builtin: usage: builtin [shell-builtin [arg ...]]
/# builtin bind -h
bash: bind: -h: invalid option
bind: usage: bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]
/# bind -h
bash: bind: -h: invalid option
bind: usage: bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]
chroot에 대한 사용자 정의를 설정하기 bind
위해 명령에서 이를 어떻게 실행할 수 있습니까 ?chroot
.inputrc
답변1
추측해 보세요:
다음과 같이 chroot에서 Bash 내장 명령을 실행하려고 합니다.
chroot <PATH> bind -f <PATH_IN_CHROOT>/.inputrc && <PROGRAM_TO_RUN>
그러나 chroot는 어떤 인터프리터도 실행하고 있지 않으며 이를 이해할 수 있습니다 bind
.
chroot <PATH> bash -c "bind -f <PATH_IN_CHROOT>/.inputrc && <PROGRAM_TO_RUN>"
PS
앞에서 언급했듯이 @mosvy
먼저 답변으로, 그 다음에는 주석으로 chroot를 호출하여 환경을 전달할 수 있습니다.
INPUTRC=/path/to/inputrc chroot <jail> bash