리눅스는 다중 사용자 OS — 한 시스템에 여러 사용자가 자기 파일·프로세스·자원을 가지고 동시 작업 가능.
「누구」를 식별하는 게 사용자(user), 「어떤 묶음에 속하나」가 그룹(group).
내부적으론 숫자.
사용자 이름 alice·bob은 사람을 위한 이름이고, 시스템은 「UID(User ID)」 숫자로 식별.
그룹도 마찬가지 GID.
id 명령으로 본인 UID·GID 확인 — uid=1000(alice) gid=1000(alice) groups=1000(alice),27(sudo).
UID 범위.
0 — root(슈퍼유저, 절대 권한).
1~999(또는 1~99) — 시스템 사용자(서비스 데몬용, www-data·mysql 등).
1000+ — 일반 사용자.
첫 사용자가 보통 1000.
그룹의 의미.
1) 파일 권한 — 「소유 그룹」 권한이 추가 통제축.
2) sudo 같은 특별 권한 그룹 가입으로 권한 부여.
3) 프로젝트 단위 — 같은 프로젝트 작업자들을 한 그룹에.
기본 그룹과 보조 그룹.
사용자는 「기본 그룹」 1개 + 「보조 그룹」 0개 이상.
새 파일 만들면 기본 그룹이 소유 그룹.
보조 그룹은 추가 권한 부여용.
groups 명령으로 본인의 모든 그룹 확인.
한 줄 요약
리눅스 사용자·그룹은 내부적으로 UID·GID 숫자.
root=0, 시스템=1~999, 일반=1000+.
그룹은 권한·sudo·프로젝트 단위.
기본 그룹 1 + 보조 0개 이상.
더 알아볼 것
- id·groups·whoami 명령
- root와 sudo 차이
- UID 충돌 — NFS·도커 시 주의