사용자 및 할당량
import { Steps } from ‘@astrojs/starlight/components’;
LabPod는 사용자마다 두 가지를 관리합니다: LabPod 계정 (로그인 자격 증명 및 할당량)과 호스트의 Linux 계정 (컨테이너가 실행되는 곳). 이 둘은 서로 연관되어 있지만 별개입니다.
이 페이지의 내용은 모두 admin의 People 영역(/admin/users, root 전용)과, 모든
superuser가 볼 수 있는 lab 전체 Resource limits 표(/admin/policies)에 있습니다.
사용자 생성
섹션 제목: “사용자 생성”관리자 UI에서
섹션 제목: “관리자 UI에서”People(/admin/users) → New user를 여세요. 사용자명과 초기 비밀번호를 입력합니다.
Linux 계정이 아직 없으면 LabPod가 자동으로 프로비저닝합니다.

CLI에서
섹션 제목: “CLI에서”# 대화형 비밀번호 프롬프트sudo labpod admin --db /var/lib/labpod/labpod.db create-user alice
# 또는 비밀번호를 파이프로 전달 (자동화용)printf '%s\n' 'initial-password' | sudo labpod admin --db /var/lib/labpod/labpod.db create-user alice# Run these as root# 대화형 비밀번호 프롬프트labpod admin --db /var/lib/labpod/labpod.db create-user alice
# 또는 비밀번호를 파이프로 전달 (자동화용)printf '%s\n' 'initial-password' | labpod admin --db /var/lib/labpod/labpod.db create-user alice새로 만들거나 변경하는 LabPod 비밀번호는 정규화한 뒤 검증합니다. 일반 계정은 864자 Unicode 문자,
64자를 써야 합니다. LabPod는 흔한 비밀번호나 사용자명, root와 superuser 계정은 12labpod에서
따온 뻔한 추측은 거부하지만, ASCII 전용이나 문자 종류 조합 규칙까지 강제하지는 않습니다. 기존
비밀번호 해시는 업그레이드 후에도 유효하며, 정책은 비밀번호를 만들거나 변경할 때 적용됩니다.
LabPod가 새 Linux 계정을 생성할 때 다음을 실행합니다.
useradd -m -s /bin/bash <username>: 계정과 홈 디렉토리를 생성합니다.chpasswd: 초기 Linux 비밀번호를 설정합니다 (생성 시 LabPod 비밀번호와 동일).loginctl enable-linger <username>: 브라우저 연결이 끊겨도 루트리스 컨테이너가 유지되도록 로그아웃 후에도 사용자의 systemd 슬라이스를 실행 상태로 유지합니다.- Linux 계정 데이터베이스에 기록된 HOME 아래에
workspaces/를 만듭니다.LABPOD_WORK_BASE가 미설정이면<passwd-home>/work/도 준비합니다. 별도 work 기준 경로를 설정하면 공유 work 트리는<work-base>/<username>/work/에 둡니다. /shared루트가 있으면/shared/<username>/(모든 사용자가 읽을 수 있음)을 생성합니다.
해당 사용자명의 Linux 계정이 이미 있으면 호스트 계정 데이터베이스에 기록된 HOME을 그대로 사용해 인수합니다. linger를 활성화하고 필요한 워크스페이스 디렉터리를 만들지만, 기존 Linux 비밀번호와 HOME은 절대 수정하지 않습니다. 이미 있는 여러 계정을 한꺼번에 온보딩하려면 People 페이지의 Adopt existing Linux accounts를 사용하세요. 각 계정에 임시 LabPod 비밀번호를 부여하며 Linux 비밀번호는 건드리지 않습니다.
미래 사용자를 위한 lab 기본값
섹션 제목: “미래 사용자를 위한 lab 기본값”People에는 Lab defaults 카드가 있습니다. 새로 만든 계정이 처음 받는 CPU/메모리/GPU/디스크 알림 허용량입니다. lab 기본값을 바꿔도 이미 있는 사람의 제한은 바뀌지 않습니다. 그 시점 이후로 New user 양식이 미리 채우는 값만 바뀝니다. 어떤 사람이 lab 기본값보다 많거나 적은 자원이 필요하면 생성 시점에(또는 나중에, 사용자별 할당량 참고) 그 계정만 재정의하세요.
LabPod 비밀번호 vs. Linux 비밀번호
섹션 제목: “LabPod 비밀번호 vs. Linux 비밀번호”계정 생성 후 이 두 가지는 완전히 독립적인 자격 증명입니다:
| 항목 | 위치 | 변경 가능한 사람 |
|---|---|---|
| LabPod 비밀번호 | LabPod 데이터베이스 | 사용자 (설정 페이지), 관리자 (set-password) |
| Linux 비밀번호 | 호스트 /etc/shadow | LabPod 외부에서 호스트 관리자만 가능 |
UI나 set-password로 LabPod 비밀번호를 변경해도 Linux 비밀번호는 절대 수정되지 않습니다.
Linux 비밀번호는 초기 create-user 호출 시 한 번만 설정되며, 그 이후로는 LabPod의 관리 범위 밖입니다.
LabPod 비밀번호 재설정
섹션 제목: “LabPod 비밀번호 재설정”sudo labpod admin --db /var/lib/labpod/labpod.db set-password alice# 또는 파이프 사용:printf '%s\n' 'new-password' | sudo labpod admin --db /var/lib/labpod/labpod.db set-password alice# Run these as rootlabpod admin --db /var/lib/labpod/labpod.db set-password alice# 또는 파이프 사용:printf '%s\n' 'new-password' | labpod admin --db /var/lib/labpod/labpod.db set-password alice사용자 목록 조회
섹션 제목: “사용자 목록 조회”sudo labpod admin --db /var/lib/labpod/labpod.db list-users# Run these as rootlabpod admin --db /var/lib/labpod/labpod.db list-users| 역할 | 식별 방법 | 수행 가능한 작업 |
|---|---|---|
| Root 관리자 | 사용자명이 root | People, 전역 Workspace templates, System, 감사 로그, 모니터링, 모든 워크스페이스 강제 중지. 워크스페이스 또는 이미지 소유권은 없음 |
| 슈퍼유저 | 슈퍼유저 플래그 설정됨 | 모든 워크스페이스, Monitoring, Usage report, Audit 조회; 구성 변경 불가 |
| 일반 사용자 | 기본값 | 본인의 워크스페이스, 워크스페이스 템플릿, 파일만 관리 |
관리자 권한 경계
섹션 제목: “관리자 권한 경계”관리자가 할 수 있는 것:
- 모든 워크스페이스 조회 및 모니터링.
- 모든 워크스페이스 강제 중지 (감사 로그에 기록됨).
관리자가 할 수 없는 것 (OS 수준 접근 없이):
- 다른 사용자의 터미널 세션에 진입.
- 다른 사용자의 워크스페이스에서 앱 시작, 편집, 또는 실행.
- 다른 사용자의 워크스페이스 삭제.
- LabPod 파일 관리자로 다른 사용자의 파일 조회.
- 다른 사용자의 이미지를 포함한 워크스페이스 이미지 list, pull, build, delete, prune.
사용자별 할당량
섹션 제목: “사용자별 할당량”People(/admin/users)에서 사람을 선택하면 개인별 리소스 제한을 편집할 수 있습니다.
모두의 할당량과 현재 사용량을 한눈에 비교하려면 lab 전체 Resource limits 표
(/admin/policies, root가 아닌 superuser는 보기만 가능)를 사용하세요.

| 할당량 | 제한 내용 |
|---|---|
| 최대 CPU | 실행 중인 모든 워크스페이스의 총 코어 수 |
| 최대 메모리 | 실행 중인 모든 워크스페이스의 총 RAM (GB) |
| 최대 GPU 분율 | 실행 중인 워크스페이스의 총 GPU 할당량 (1.0 = 전체 GPU 하나) |
| 디스크 알림 | 사용자 계정 홈과 이전된 work 영역의 권고 GB 임계값 |
사람의 제한 카드는 현재 Lab default를 쓰는지 Custom 재정의를 쓰는지 표시하며, Use lab defaults 작업으로 다시 기본값으로 되돌릴 수 있습니다.
호스트에서 유효할 때 CPU, 메모리, GPU 할당량은 워크스페이스 시작 시 적용됩니다. 디스크 사용량은 측정해 알림을 표시할 수 있지만 쓰기나 워크스페이스 시작을 차단하지 않습니다. 관리자가 할당량을 낮춰도 이미 실행 중인 워크스페이스는 중지되지 않습니다.
소유자 전용 Podman ID 마이그레이션
섹션 제목: “소유자 전용 Podman ID 마이그레이션”LabPod가 어떤 사람의 루트리스 Podman 서브 UID/GID 매핑이 마이그레이션되어야 한다고 판단하면(대개 기존 Linux 계정을 LabPod 아래로 옮긴 뒤이거나 subuid/subgid 범위를 복구한 뒤입니다) People에 그 사람의 owner action 표시와 읽기 전용 상태가 나타납니다. 관리자는 마이그레이션이 대기 중이라는 사실을 볼 수 있을 뿐, 다른 사람을 대신해 실행할 수는 없습니다. 해당 사람이 자신의 Settings 페이지에서 직접 실행해야 하며, 확인 대화상자는 마이그레이션 전에 실행 중인 컨테이너를 먼저 중지한다는 점을 설명하고, 지금이 적절하지 않다면 Migrate later를 제공합니다. 계정 소유자 쪽 절차는 할당량 및 사용량을 참고하세요.
사용자 삭제
섹션 제목: “사용자 삭제”People에서: LabPod 데이터베이스 레코드를 제거하고 모든 세션을 취소합니다. Linux 계정과 홈 디렉토리는 보존됩니다. LabPod는 절대 userdel을 호출하지 않습니다. 디스크 공간을 확보하려면 호스트 관리자로서 수동으로 처리하세요.
나중에 동일한 사용자명을 다시 추가하면 기존 Linux 계정을 인수합니다.