[unix] 공유 해제로 chroot 시뮬레이션

최소한의 소스 소스 리눅스 배포를 위해 부트 스트 래퍼를 작성하려고합니다.

chroot와 같은 환경에서 빌드하고 싶습니다. 이것은 패키징을 단순화해야합니다. 지금은 보안에 신경 쓰지 않습니다. 부트 스트 래퍼에는 비표준 타사 명령이 필요하지 않습니다. 뿌리가 될 필요가 없다면 좋을 것입니다.

이것이 fakechroot (1) fakeroot (1) chroot (1)이 내가 찾는 것과 정확히 다른 이유입니다.

unshare (1) 및 / bin / sh를 가짜 / 사용하는 것이 가능합니까?



답변

예. 귀하의 경우 커널 지원의 user_namespaces이 (그들이 사용 가능) , 당신은 먼저 호출에 대한 권리를 얻을 사용자 “루트 시뮬레이션”수 chroot(실제 루트 사용자로)을. (이전 에는 일반 사용자에 의한 권한 에스컬레이션 가능성 때문에 (예 : chroot 디렉토리의 set-UID-root 바이너리 및 사용자 정의 라이브러리를 통해) 루트 사용자로만 제한해야했습니다 .)

쉘에서 이것을 시도 할 수 있습니다 :

unshare --user --map-root-user --mount-proc --pid --fork
/sbin/chroot ......
su - user1


답변

fakeroot / fakechroot는 이미 이것에 완벽하게 적합하므로 묶거나 설치하기 만하면됩니다. 영감을 얻으려면 cdebootstrap을보십시오.


답변