13장. RHEL의 이미지 모드를 사용하여 런타임에 루트 수준 디렉터리 및 심볼릭 링크 생성
권한 있는 사용자는 런타임 시 동적 최상위 마운트 지점을 생성할 수 있지만 파일 시스템은 기본적으로 transient-ro 옵션을 사용하여 읽기 전용으로 유지됩니다. 이는 플랫폼별 또는 동적일 수 있는 바인딩 마운트 호스트 경로가 필요한 애플리케이션에 유용합니다.
이 기능은 다음 사용 사례를 해결합니다.
- bind-mounts에 특정 절대 호스트 경로가 필요한 애플리케이션입니다.
-
특정 마운트 지점이 필요한 플랫폼(예:
/users). - 배포 후 애플리케이션이 시작되기 전에 동적 마운트 지점을 생성해야 합니다.
- 모든 일반 프로세스에 대해 루트 파일 시스템을 읽기 전용으로 유지해야 하는 보안 요구 사항입니다.
13.1. transient-ro true 옵션 작업 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux bootc 이미지에서 transient-ro=true 옵션을 활성화하여 상태 비저장 배포를 구현합니다. 이 구성은 파일 시스템이 임시 스토리지에 쓰기를 지시하여 시스템 재부팅 시 런타임 변경 사항을 삭제합니다.
다음 워크플로는 부팅 프로세스 변경 사항을 설명합니다.
transient-ro=true는overlayfs상위 디렉터리를 기본적으로읽기 전용모드로 마운트합니다.-
이 경우
root또는systemd서비스와 같은 권한 있는 프로세스는 루트 파일 시스템을읽기-쓰기로 다시 마운트할 수 있지만 새로운 프라이빗 마운트 네임스페이스 내에서만 다시 마운트할 수 있습니다.
-
이 경우
- 프라이빗 네임스페이스 내에서 프로세스는 마운트 지점 역할을 할 새로운 최상위 디렉토리 만들기와 같은 변경을 수행할 수 있습니다.
- 마운트 지점은 현재 부팅 시 유지되지만 재부팅 또는 업그레이드를 통해 유지되지 않습니다.
-
시스템의 다른 모든 정규 프로세스는 수정되지 않은 원래
읽기 전용루트 파일 시스템을 계속 확인합니다.
보안상의 이유로 권한이 있는 사용자(root)만 이러한 마운트 지점을 생성할 수 있습니다.
- 마운트 지점은 일시적인 것이며 재부팅해도 유지되지 않습니다.
-
파일 시스템은 권한이 없는 프로세스에
대해서만 읽기 전용으로 유지됩니다.
util-linux 의 제한으로 인해 transient-ro 옵션으로 마운트 작업을 수행할 때 LIBMOUNT_FORCE_MOUNT2=always 환경 변수를 설정해야 합니다. 이 변수는 transient-ro 에 필요한 마운트 네임스페이스 기능에 영향을 미칩니다.