이미지 생성 시 사용자 ID 번역

이미지 생성 시 사용자 ID 번역

주어진 디렉토리 계층 구조에서 이미지(예: ext3 이미지)를 생성하고 싶습니다. 이 디렉터리 계층 구조는 지정된 사용자가 소유합니다. 하지만 최종 이미지에서는 슈퍼유저가 파일을 소유하게 되기를 원합니다. 사용자 uid/gid를 0으로 변환하는 솔루션이 있습니까?

의사 작업 흐름은 다음과 같습니다.

  1. 사용자로 파일 계층 생성/home/user/rootfs

  2. 파일에 ext3 img 생성

  3. 루프 마운트 빈 img(사용자 또는 루트로)/somewhere/loopmount

  4. cp -R --magic_uid_options 500=0 /home/user/rootfs /somewhere/loopmount

또는 4단계는 일반 복사일 수도 있고, 5단계는 chown재귀적으로 수행할 수 있는 영리한 발견입니다 chgrp. 이러한 유형의 문제에 대한 잘 알려진 해결책이 있습니까?

답변1

--magic_uid_options나는 이 명령에 대해 ""를 전혀 모릅니다 cp. 그리고 당신도 알 필요가 없습니다.영리한재귀 chown또는 를 수행하는 데 사용됩니다 chgrp.

실제로 나는:

  • 복사본을 만들 때 최대한 많은 파일/디렉터리 속성(타임스탬프, ...)을 유지하세요.

    cp -pR /home/users/rootfs /somewhere/loopmount/
    
  • chown모두 root:root:

    chown -R root:root /somewhere/loopmount
    

답변2

루트로 4단계를 수행할 수 있습니다.

cd /home/user/rootfs
pax -rw -pp . /somewhere/loopmount

-pp모드와 시간은 유지하지만 실행 중인 사용자와 그룹이 소유한 파일을 만듭니다 pax.

관련 정보