2017-01-31 14 views
1

디스크에 share이고 디렉토리가 1001 인 디렉토리가 있습니다. 그 디렉토리를 하나의 lxc 컨테이너에있는 장치로 추가하고이 그룹을 계속 갖고 싶습니다.LXD/LXC gid 매핑

나는 raw.idmap 'gid 1001 1001'을 사용해 보았지만, 이것을 추가하면 lxc 컨테이너가 시작되지 않습니다. 당신이 그 라인을 말하는 무엇

감사

답변

1

당신이 내부 ID 1001이있는 사용자가 있는지 확인해야한다는 것을 의미 ID 1001와 컨테이너 사용자에게 ID (1001)와 호스트 사용자를 매핑하는 것이다 컨테이너를 매핑하거나 다른 사용자에게 매핑합니다 (컨테이너의 첫 번째 사용자는 일반적으로 1000이라는 ID를가집니다).

1

매핑 작업을 수행하는 데 필요한 세 부분이 있습니다. (당신이 이미 완료했습니다)

  1. raw.idmap 세트 컨테이너가
  2. 그림자 파일에 매핑하는 기존의 GID를 가지고
  3. 당신이하려는

아이디 매핑을 할 수 있습니다 호스트 -id 1001 (share)을 container-gid에 매핑합니다. 이 경우 container-gid가 1001이되도록 선택했습니다.

위의 # 1을 달성 했으므로 매핑을 설정했습니다.

Accomplishing # 2는 컨테이너 내에 gid 1001이있는 그룹을 생성하기 만하면됩니다. 이론적으로 이는 실제로 새 그룹의 모든 gid가 될 수 있으며 컨테이너에 정의 된 대상 gid와 일치하도록 대상 gid를 설정하기 위해 raw.idmap 명령을 수정해야합니다.

위 # 3를 들어, 당신은 할 /etc/subgid을 점검 할 필요가 있는지 당신은 당신이 /etc/subgid 볼 때 당신은 같은 것을 보이는 몇 줄을 볼 수 1001
컨테이너 GID에 호스트 GID 1001 매핑 할 수있어 각 행의 첫 번째 숫자는 다를 수 있지만, 다음

lxd:100000:65536 
root:100000:65536 

이 기본 구성이며 것은 LXD가받는 상대 오프셋 숨겨진 용기를 생산 100,000에서 시작 범위와 GID를 사용할 수 있다고 100,000의 호스트 gid (또는 행의 첫 번째 숫자가 무엇이든). 컨테이너 내부에서 마운트 된 디렉토리에 파일을 작성하면 호스트에서 볼 수있는 gid는 offset + 컨테이너 gid가됩니다.
lxd가 gid 1001을 사용할 수있게하고 호스트 gid 1001을 컨테이너 gid 1001 (또는 컨테이너 gid)에 매핑하도록 허용하려면 /etc/subgid 파일에 권한을 추가해야합니다. 당신은 파일의 끝에이 같은 줄을 추가하여이 작업을 수행 할 수 있습니다 :

lxd:1001:1 
root:1001:1 

당신이 호스트 당신이 raw.idmap 옵션을 사용할 때 LXD 매핑 할 수 있도록 할 다른 GID를의 번호가있는 경우, 당신은 연속되지 않은 범위가

lxd:start-id-to-expose:count-of-ids-to-expose 
root:start-id-to-expose:count-of-ids-to-expose 

이 파일에 추가 라인에 표시되는 "로 지정할 수 있습니다.
는 확인이 LXD 문서 이후 새로운 라인을 추가해야 할 때마다 항상 LXD 루트 라인을 모두 추가해야 대부분의 용도로 동기화 상태를 유지해야한다고 말합니다.