개요
id는 'identity'의 약자로, 시스템에서 사용자를 식별하는 데 사용되는 숫자 ID를 보여줍니다. 리눅스 시스템은 사용자 이름 대신 UID(User ID)와 GID(Group ID)를 사용하여 권한을 관리합니다. `id` 명령어는 현재 셸을 실행하고 있는 사용자의 UID와 GID, 그리고 보조 그룹(supplementary groups)의 목록을 출력합니다. 이를 통해 파일 및 디렉토리 접근 권한, 프로그램 실행 권한 등을 빠르게 파악할 수 있으며, 시스템 관리자가 사용자 권한 문제를 해결할 때 가장 먼저 사용하는 도구 중 하나입니다.
주요 특징
id 명령어의 주요 특징은 다음과 같습니다.
- 현재 사용자 또는 특정 사용자의 UID와 GID를 출력합니다.
- 사용자가 속한 모든 그룹의 목록을 보여줍니다.
- 권한 관련 문제를 해결할 때 유용한 정보를 제공합니다.
- 스크립트에서 사용자 ID나 그룹 ID를 확인하는 용도로 활용됩니다.
id 관련 용어
id 명령어로 확인할 수 있는 주요 용어들입니다.
- UID (User ID): 사용자를 식별하는 고유한 숫자 ID입니다. 일반적으로 0은 `root`, 1-999는 시스템 계정, 1000 이상은 일반 사용자에 할당됩니다.
- GID (Group ID): 그룹을 식별하는 고유한 숫자 ID입니다. 사용자는 하나 이상의 그룹에 소속될 수 있습니다.
- groups: 사용자가 속한 모든 그룹의 목록입니다. 첫 번째 그룹은 '기본 그룹'이며, 나머지는 '보조 그룹'입니다.
주요 옵션
자주 사용하는 id 명령어의 옵션을 목적에 따라 그룹화했습니다.
1) 출력 옵션
2) 도움말
생성된 명령어:
명령어를 조합해 보세요.
설명:
`id` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
id 명령어의 다양한 사용 예시를 통해 기능을 익혀보세요.
현재 사용자 정보 출력
id
현재 로그인된 사용자의 UID, GID, 소속 그룹 정보를 출력합니다.
특정 사용자 정보 출력
id guest
`guest`라는 사용자의 상세 정보를 출력합니다.
사용자의 UID와 GID 출력
id -u
id -g
사용자의 UID와 기본 GID를 각각 숫자 값으로만 출력합니다.
사용자 이름만 출력
id -un
현재 사용자의 이름만 출력합니다. `whoami`와 동일한 결과를 반환합니다.
모든 그룹 이름 출력
id -Gn
사용자가 속한 모든 그룹의 이름만을 공백으로 구분하여 출력합니다. `groups` 명령과 유사합니다.
설치
id는 `coreutils` 패키지의 일부로, 대부분의 리눅스 배포판에 기본적으로 포함되어 있습니다. 별도의 설치가 필요하지 않습니다.
팁 & 주의사항
id 명령어 사용 시 유의할 점들을 정리했습니다.
팁
- `id -u`를 사용하면 현재 사용자의 UID를 얻을 수 있으며, 이는 스크립트에서 루트 권한 여부를 확인할 때 유용합니다. (예: `if [ "$(id -u)" == "0" ]; then ... fi`)
- `id -Gn` 명령은 `groups` 명령과 동일한 결과를 출력합니다. 두 명령어 모두 사용자가 속한 그룹을 확인할 때 편리합니다.