마운트 네임스페이스 내에서 su 실행

마운트 네임스페이스 내에서 su 실행

다음 단계를 사용하여 네임스페이스 마운트를 테스트하고 있습니다.

# unshare --mount
# mount --bind rootfs/ ns_dir/
# cd ns_dir/
# pivot_root . .
# cd /

내 rootfs에는 /lib, /bin, 하위 폴더가 있습니다 /etc. bash및 를 포함한 다양한 바이너리에 종속성을 배치했습니다 su.

su내 질문은 네임스페이스 내부의 사용과 관련이 있습니다. 나는 다음을 시도했다:

root:/# su alice
alice:/$ su bob
su: must be run from a terminal

오류가 무엇을 의미하는지 묻고 싶습니다 su: must be run from a terminal. 온라인에서 검색해서 다음과 같은 해킹 답변을 찾았습니다.협회다음이 필요합니다.

echo "import pty; pty.spawn('/bin/bash')" > /tmp/asdf.py
python /tmp/asdf.py

나는 이 방법을 시도했다이것대답했지만 성공하지 못했습니다. 이 오류를 해결하는 올바른 방법이 무엇인지 묻고 싶습니다. 사용자 전환시 비밀번호가 필요하기 때문에 오류가 발생하는 것 같습니다.

답변1

당신이 할 수 있는 일은 루트가 아닌 내부 공유를 해제한 다음 Enterns 없이 사용하는 것입니다. 그러면 --preserve-credentials마운트하는 데 사용할 수 있는 컨테이너 내부의 루트 권한이 제공됩니다.

답변 보기https://unix.stackexchange.com/a/767296/139357이건 개선될 거야

관련 정보