Linux / 명령어 / getent - NSS 사용자·그룹·호스트 정보 조회

getent는 Name Service Switch(NSS)가 사용하는 계정, 그룹, 호스트 등의 데이터베이스에서 항목을 조회합니다. 로컬 파일뿐 아니라 시스템에 설정된 외부 인증·이름 서비스까지 같은 조회 경로로 확인할 때 유용합니다.

getent 명령어란?

/etc/nsswitch.conf에 지정된 조회 순서를 따르므로 /etc/passwd 파일만 읽는 것과 결과가 다를 수 있습니다. 데이터베이스 이름을 먼저, 필요한 키를 뒤에 지정합니다. 키를 생략하면 열거를 시도하지만 모든 데이터베이스에서 전체 열거가 가능한 것은 아닙니다.

기본 문법

getent 데이터베이스 [키 ...]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man getent으로 현재 시스템의 설명을 확인하세요.

사용 예제

사용자 계정 조회

로컬 파일 또는 설정된 NSS 원본에서 사용자를 찾습니다.

getent passwd alice

그룹 정보 조회

그룹 이름과 구성원을 확인합니다.

getent group editors

호스트 이름 확인

현재 시스템의 NSS 설정을 통해 이름을 조회합니다.

getent hosts localhost

NSS 데이터베이스 조회 결과 읽기

getent passwd 사용자는 로컬 /etc/passwd뿐 아니라 시스템의 NSS(Name Service Switch) 설정을 통해 제공되는 계정도 조회할 수 있습니다.

getent passwd root

예시 출력(홈 경로와 셸은 시스템마다 다름):

root:x:0:0:root:/root:/bin/bash

콜론으로 구분된 항목 중 세 번째가 UID, 네 번째가 기본 GID입니다. x는 실제 암호가 이 필드에 표시된다는 뜻이 아닙니다. 조회 결과가 없으면 이름이 없거나 NSS 백엔드 접근에 문제가 있을 수 있으므로 단순히 /etc/passwd만 검색한 결과와 혼동하지 마세요.

주요 옵션과 형식

옵션·형식 설명
passwd 사용자 계정 데이터베이스를 조회합니다.
group 그룹 데이터베이스를 조회합니다.
hosts 호스트 이름·주소 데이터베이스를 조회합니다.
-s 서비스 glibc 구현에서 특정 데이터베이스의 조회 서비스를 지정합니다.

사용할 때 주의할 점

계정이 /etc/passwd에 없더라도 LDAP 등 외부 NSS 원본에 있을 수 있습니다. 반대로 getent의 실패는 조회 서비스 장애나 키 부재를 모두 의심하게 하므로 종료 상태와 NSS 설정을 함께 보세요. 무키 전체 열거는 일부 데이터베이스에서 지원되지 않거나 큰 출력을 만들 수 있습니다.

자주 묻는 질문

getent passwd alice와 grep alice /etc/passwd의 차이는?

getent는 설정된 NSS 조회 경로를 사용하고, grep은 로컬 파일의 텍스트만 검색합니다. 외부 사용자 디렉터리가 있다면 결과가 달라질 수 있습니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 getent 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / unalias - 명령어 별칭 삭제

Linux / 명령어 / unalias - 명령어 별칭 삭제

Bash unalias 명령어로 특정 별칭이나 모든 별칭을 제거하는 방법을 설명합니다. 일시 제거와 영구 제거, 별칭 우회 및 함수·변수 삭제와의 차이를 정리합니다.

Linux / 명령어 / history - 명령어 실행 기록 확인

Linux / 명령어 / history - 명령어 실행 기록 확인

Bash history 명령어로 이전 명령을 조회·검색·재실행·삭제하는 방법을 설명합니다. ~/.bash_history, HISTCONTROL, HISTTIMEFORMAT, histappend와 여러 터미널 기록 동기화 방법도 함께 정리합니다.

Linux / 명령어 / clear - 터미널 화면 정리

Linux / 명령어 / clear - 터미널 화면 정리

Linux clear 명령어로 터미널 화면을 정리하는 방법을 설명합니다. 스크롤백을 보존하는 -x 옵션과 Ctrl+L·reset·tput의 차이, TERM 오류 해결법을 다룹니다.

Linux / 명령어 / apropos - 설명 키워드로 명령어 검색

Linux / 명령어 / apropos - 설명 키워드로 명령어 검색

apropos 명령어로 이름을 모르는 리눅스 명령과 매뉴얼을 기능 키워드로 찾는 방법을 설명합니다. 정규 표현식, 모든 키워드 일치, 섹션 제한과 검색 결과가 없을 때의 해결 방법을 다룹니다.

Linux / 명령어 / ip - 인터페이스·주소·라우팅 상태와 설정

Linux / 명령어 / ip - 인터페이스·주소·라우팅 상태와 설정

Linux ip 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / find - 조건으로 파일과 디렉터리 검색

Linux / 명령어 / find - 조건으로 파일과 디렉터리 검색

Linux find 명령어로 경로, 이름, 종류, 크기, 시간과 권한 조건을 조합해 파일을 찾는 방법을 설명합니다. 안전한 exec 사용과 삭제 전 검증도 다룹니다.

Linux / 명령어 / cd - 디렉터리 이동

Linux / 명령어 / cd - 디렉터리 이동

Linux cd 명령어로 절대·상대 경로, 홈과 이전 디렉터리로 이동하는 방법을 설명합니다. 심볼릭 링크 처리, CDPATH, 스크립트와 sudo cd의 한계 및 오류 해결법도 정리합니다.

Linux 강좌 / 셸의 명령 실행 방식 - ;, &&, ||, 별칭과 환경 변수

Linux 강좌 / 셸의 명령 실행 방식 - ;, &&, ||, 별칭과 환경 변수

Bash가 명령을 해석하고 종료 상태에 따라 다음 명령을 실행하는 방식을 알아봅니다. ;, &&, ||와 별칭·환경 변수의 차이를 안전한 예제로 설명합니다.

Linux / 명령어 / dirname - 경로에서 디렉터리 부분 추출

Linux / 명령어 / dirname - 경로에서 디렉터리 부분 추출

Linux dirname 명령어로 경로의 디렉터리 부분을 추출하는 방법을 설명합니다. 입력 형태별 결과와 basename, realpath의 차이 및 셸 스크립트 활용법을 정리합니다.

Linux / 명령어 / sort - 텍스트 행 정렬

Linux / 명령어 / sort - 텍스트 행 정렬

Linux sort 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.