> 패키지 및 시스템 관리 > getent

getent: 이름 서비스 스위치(NSS) 항목 조회

getent 명령어는 Name Service Switch (NSS) 라이브러리를 사용하여 다양한 시스템 데이터베이스(예: 사용자, 그룹, 호스트 정보)에서 항목을 조회합니다. 이는 /etc/passwd, /etc/group, /etc/hosts와 같은 로컬 파일뿐만 아니라 NIS, LDAP 등 NSS 설정에 정의된 다른 소스에서도 정보를 가져올 수 있게 해줍니다.

개요

getent는 시스템의 Name Service Switch (NSS) 설정에 따라 사용자, 그룹, 호스트 등 다양한 데이터베이스에서 정보를 검색합니다. 이는 로컬 파일(/etc/passwd, /etc/group 등)뿐만 아니라 네트워크 기반 서비스(NIS, LDAP 등)에서도 정보를 가져올 수 있어, 시스템이 특정 정보를 어떻게 해석하고 사용하는지 확인하는 데 유용합니다.

주요 특징

  • NSS 설정에 따른 다양한 데이터 소스 조회
  • 사용자, 그룹, 호스트, 서비스 등 시스템 정보 검색
  • 로컬 파일 및 네트워크 서비스(NIS, LDAP) 지원
  • 시스템 정보 진단 및 스크립트 활용에 유용

주요 조회 데이터베이스

getent로 조회할 수 있는 대표적인 데이터베이스 유형입니다.

  • passwd: 사용자 계정 정보 (예: /etc/passwd)
  • group: 그룹 정보 (예: /etc/group)
  • hosts: 호스트 이름 및 IP 주소 정보 (예: /etc/hosts, DNS)
  • services: 네트워크 서비스 및 포트 번호 (예: /etc/services)
  • protocols: 네트워크 프로토콜 정보 (예: /etc/protocols)
  • networks: 네트워크 이름 및 주소 정보 (예: /etc/networks)

주요 옵션

getent 명령어는 주로 데이터베이스 이름과 조회 키를 인자로 사용하지만, 몇 가지 유용한 옵션도 제공합니다.

조회 제어

생성된 명령어:

명령어를 조합해 보세요.

설명:

`getent` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

getent 명령어를 활용하여 다양한 시스템 정보를 조회하는 예시입니다.

모든 사용자 목록 조회

getent passwd

시스템에 등록된 모든 사용자 계정 정보를 출력합니다.

특정 사용자 정보 조회

getent passwd root

지정된 사용자 이름(예: 'root')의 계정 정보를 출력합니다.

모든 그룹 목록 조회

getent group

시스템에 등록된 모든 그룹 정보를 출력합니다.

특정 그룹 정보 조회

getent group sudo

지정된 그룹 이름(예: 'sudo')의 정보를 출력합니다.

호스트 이름으로 IP 주소 조회

getent hosts google.com

지정된 호스트 이름(예: 'google.com')에 대한 IP 주소 정보를 출력합니다. DNS 설정을 따릅니다.

IP 주소로 호스트 이름 조회

getent hosts 8.8.8.8

지정된 IP 주소(예: '8.8.8.8')에 대한 호스트 이름 정보를 역으로 조회합니다.

특정 서비스의 포트 번호 조회

getent services ssh

지정된 서비스(예: 'ssh')의 포트 번호와 프로토콜 정보를 출력합니다.

파일에서만 사용자 정보 조회

getent -s files passwd

NSS 소스를 'files'로 명시하여 /etc/passwd와 같은 로컬 파일에서만 사용자 정보를 조회합니다.

팁 & 주의사항

getent 명령어를 더욱 효과적으로 사용하기 위한 팁과 주의사항입니다.

NSS 설정 파일 이해

getent는 `/etc/nsswitch.conf` 파일에 정의된 순서대로 데이터 소스를 조회합니다. 이 파일을 확인하여 시스템이 어떤 순서로 정보를 검색하는지 이해하는 것이 중요합니다. 예를 들어, `passwd: files systemd`는 먼저 로컬 파일(`/etc/passwd`)을 확인하고, 그 다음 `systemd` 서비스를 통해 사용자 정보를 찾으라는 의미입니다.

활용 팁

  • **네트워크 문제 진단:** `getent hosts`를 사용하여 DNS 또는 NIS 설정 문제를 진단할 수 있습니다.
  • **스크립트에서 사용자/그룹 유효성 검사:** 스크립트에서 특정 사용자나 그룹이 시스템에 존재하는지 확인할 때 유용합니다.
  • **`id` 명령어와의 차이:** `id` 명령어는 현재 로그인한 사용자 또는 지정된 사용자의 UID/GID 및 소속 그룹 정보를 보여주는 반면, `getent passwd`는 시스템에 등록된 모든 사용자 계정의 상세 정보를 NSS를 통해 조회합니다.

동일 카테고리 명령어