Rootless Podman 운영 · rootless 가 가능한 이유 · 퀴즈
퀴즈: rootless 의 원리
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
rootless 컨테이너가 mount 같은 특권 작업을 할 수 있는 이유는?
- setuid 가 걸린 헬퍼 바이너리를 대신 쓰기 때문
- 새 user namespace 안에서는 모든 capability 를 갖기 때문
- 커널이 컨테이너 프로세스를 특별하게 취급하기 때문
- 실행하는 동안만 잠시 진짜 root 로 승격되기 때문
`/etc/subuid` 의 `podster:100000:65536` 이 뜻하는 것은?
- podster 의 UID 가 100000 이다
- podster 가 자기 namespace 안에서 호스트 UID 100000 부터 65536 개를 쓸 수 있다
- podster 는 65536 개의 컨테이너를 만들 수 있다
- podster 의 홈이 100000 블록으로 제한된다
subuid 가 `podster:100000:65536` 일 때 컨테이너 안 UID 1000 은 호스트에서 어떤 UID 인가요?
- 100999
- 1000
- 100000
- 101000
rootless 에서 80 번 포트에 바인딩할 수 없습니다. 가장 실용적인 대응은?
- root 로 전환한다
- 높은 포트로 띄우고 앞단 리버스 프록시나 포트 리다이렉션으로 노출한다
- capability 를 추가한다
- podman 을 setuid 로 만든다
`podman unshare` 가 유용한 상황은?
- 컨테이너를 백그라운드로 띄워 두고 싶을 때
- 이미지를 빌드해 레지스트리에 올리려 할 때
- 볼륨 디렉터리의 소유권이 이상해 보일 때
- 컨테이너 네트워크 경로를 진단하고 싶을 때
`newuidmap` 헬퍼가 동작하지 않을 때 podman 의 동작은?
- 단일 UID 모드로 폴백해 여러 UID 를 쓰는 이미지에서 권한 오류가 난다
- 오류를 내며 컨테이너 기동이 즉시 실패한다
- 자동으로 rootful 모드로 전환해 실행한다
- 스토리지 드라이버가 vfs 로 바뀌어 느려진다