Skip to Content
Building Os이미지 로컬 사용자

이미지 로컬 사용자

사용자 레코드는 os.users에 있습니다. 이미지 안에 계정을 만듭니다. OpenFactory 웹사이트 계정이나 조직 역할과는 관련이 없습니다.

정식 형태

{ "os": { "users": [ { "username": "deploy", "full_name": "Deployment Operator", "groups": ["sudo"], "shell": "/bin/bash" } ] } }

지원 필드에는 username, 선택적 password, full_name, groups, shell, 그리고 Elster/Vyatta 이미지가 쓰는 대상별 level이 있습니다. home 또는 comment가 있는 이전 예제는 정식 모델과 맞지 않으며 무시될 수 있습니다.

사용자 및 그룹 이름은 안전한 Linux 계정 문자와 길이로 제한됩니다. 셸은 공백이나 셸 메타문자가 없는 절대 경로여야 합니다.

암호 동작

password를 설정하지 않으면 암호가 잠긴 계정이 만들어집니다. 키만 사용하는 SSH, 첫 부트 등록, 배포 시점 신원 통합에서는 이것이 바람직한 레시피 상태입니다.

평문 암호를 넣으면 민감한 빌드 입력이 되며 저장된 레시피, 로그, 내보내기를 통해 노출될 수 있습니다. 실제 프로덕션 자격 증명을 레시피에 쓰지 마세요. Phone 레시피는 자격 증명을 이미지에 굽지 않고 장치에서 수집해야 합니다.

SSH 암호 인증을 끄기 전에, 승인된 공개 키 또는 다른 접근 방법이 있고 테스트되었는지 확인하세요. 그렇지 않으면 올바르게 강화된 이미지에 들어갈 수 없게 됩니다.

그룹과 권한

  • sudowheel은 배포판에 따라 관리 권한을 줄 수 있습니다.
  • docker는 데몬 소켓을 통해 root와 동등한 제어를 흔히 줍니다.
  • kvm은 있는 경우 가상화 장치에 대한 접근을 줍니다.
  • adm은 민감한 로그를 노출할 수 있습니다.

이들을 특권 그룹으로 다루고 계정에 필요한 것만 부여하세요. 배포판별 그룹 이름은 이식할 수 없습니다.

서비스 계정

비대화형 서비스 계정에는 대상에서 사용할 수 있는 로그인 불가 셸을 고르고 관리 그룹을 생략하세요. 생성기와 서비스 유닛이 의도한 신원을 유지하는지 확인하세요. groups를 생략하면 레시피 기본값이 sudo를 추가할 수 있으므로, 적절한 경우 빈 그룹 목록을 명시하세요.

검증

중요한 정확한 속성을 테스트하세요.

  • 계정이 기대하는 UID 범위로 존재합니다;
  • 기본 그룹과 보조 그룹이 올바릅니다;
  • 로그인 셸과 암호 잠금 상태가 올바릅니다;
  • 다른 곳에서 생성되는 경우 홈과 파일 소유권이 올바릅니다;
  • 승인되지 않은 sudo 및 서비스 접근이 거부됩니다; 그리고
  • 승인된 로그인 또는 등록 경로가 성공합니다.

계정 생성만으로 최소 권한을 추론하지 마세요.