Linux/리눅스 시스템 관리

NIS (Network Information Service) 서버란?

Linuxpia4U 2025. 3. 16. 05:07
반응형

NIS (Network Information Service) 서버란?

NIS(Network Information Service)네트워크에 연결된 여러 시스템이 사용자 계정 정보, 그룹 정보, 호스트 정보 등의 데이터를 중앙에서 관리할 수 있도록 해주는 디렉터리 서비스입니다. 주로 리눅스 및 유닉스 환경에서 사용되며, 네트워크 내 여러 컴퓨터가 동일한 사용자 및 그룹 정보를 공유할 수 있도록 해줍니다.


1. NIS의 역할

NIS 서버는 중앙에서 사용자 계정 정보를 관리하여, 클라이언트 시스템이 로컬에서 계정을 따로 설정하지 않고도 네트워크를 통해 인증할 수 있도록 합니다. 이를 통해 여러 시스템에서 동일한 계정으로 로그인하고 일관된 환경을 유지할 수 있습니다.

예제: NIS가 필요한 경우

  • 회사 또는 연구소에서 여러 대의 리눅스 서버를 운영할 때, 각 서버에 사용자 계정을 별도로 생성하지 않고 중앙에서 관리하고 싶을 때
  • 동일한 사용자 계정으로 여러 개의 시스템에 로그인할 필요가 있을 때

2. NIS의 구성 요소

NIS는 서버-클라이언트 구조로 동작하며, 주요 구성 요소는 다음과 같습니다.

① NIS 서버 (Master Server)

  • 네트워크 내에서 사용자 계정 정보, 그룹 정보, 호스트 정보 등을 중앙에서 관리하는 역할을 합니다.
  • 필수 데몬: ypserv (NIS 데이터베이스 제공)
  • 선택적 데몬: yppasswdd (사용자 암호 변경 지원), ypxfrd (대규모 환경에서 맵 전송 최적화)

② NIS 슬레이브 서버 (Slave Server, 선택)

  • 마스터 서버의 백업 역할을 하며, 마스터 서버가 다운될 경우 NIS 데이터를 제공할 수 있도록 보조 서버 역할을 합니다.
  • 마스터 서버로부터 정기적으로 데이터(맵)를 동기화하여 복제본을 유지합니다.

③ NIS 클라이언트

  • NIS 서버에 연결하여 계정 및 시스템 정보를 가져와서 사용합니다.
  • 클라이언트는 /etc/passwd, /etc/group 등의 파일을 로컬에서 읽는 대신, NIS 서버에서 정보를 가져옵니다.

3. NIS의 주요 특징

중앙 집중식 사용자 관리

  • 개별 시스템마다 사용자를 등록하지 않아도, NIS 서버에서 정보를 관리하면 모든 클라이언트가 동일한 사용자 계정을 공유할 수 있음.

유연한 확장성

  • NIS 마스터 서버와 슬레이브 서버를 구성하여, 여러 대의 클라이언트 시스템을 쉽게 관리할 수 있음.

다양한 정보 관리 가능

  • 사용자 계정 정보뿐만 아니라 그룹 정보, 호스트 목록, 서비스 목록 등 다양한 시스템 정보를 중앙에서 관리할 수 있음.

RPC 기반 동작

  • NIS는 원격 프로시저 호출(RPC, Remote Procedure Call) 방식으로 데이터를 주고받으며, 이를 위해 rpcbind(혹은 portmap)가 필요함.

4. NIS 서버 동작 원리

  1. NIS 클라이언트가 로그인을 시도하면, ypbind 데몬이 실행되어 NIS 서버에서 계정 정보를 조회함.
  2. NIS 서버(ypserv)는 요청을 받고 데이터베이스(NIS 맵)에서 해당 사용자 정보를 찾아 클라이언트에 제공함.
  3. 클라이언트는 받은 정보를 바탕으로 인증을 진행하고, 성공하면 정상적으로 로그인됨.

5. NIS 관련 주요 파일

파일 위치 설명

/etc/yp.conf NIS 서버 정보를 설정하는 파일
/etc/nsswitch.conf 시스템이 사용자 정보(예: /etc/passwd, NIS 등) 조회 방식을 지정
/var/yp/ NIS 데이터베이스 파일(NIS 맵)이 저장되는 디렉터리
/etc/passwd NIS 없이 로컬에서 관리되는 사용자 계정 정보
/etc/group 사용자 그룹 정보

6. NIS와 다른 인증 시스템 비교

시스템 설명

NIS 중앙에서 사용자 계정 정보를 관리하는 오래된 방식
LDAP 보다 강력한 인증 및 디렉터리 서비스, NIS보다 보안성이 뛰어남
Active Directory Microsoft 환경에서 사용되는 중앙 인증 시스템
Kerberos 암호화된 인증을 제공하는 보안성이 뛰어난 시스템

보안 문제
NIS는 암호화되지 않은 데이터를 전송하기 때문에 보안에 취약합니다. 현대 시스템에서는 보안을 강화한 LDAP (Lightweight Directory Access Protocol) 또는 Kerberos를 더 많이 사용합니다.


7. NIS 서버 구성 시 필수 데몬

데몬 역할

ypserv NIS 서버의 핵심 데몬 (클라이언트 요청 처리)
rpcbind RPC 서비스를 위한 데몬 (필수)
ypxfrd 대규모 환경에서 NIS 맵 전송을 최적화하는 데몬 (선택 사항)
yppasswdd NIS 클라이언트에서 암호 변경을 지원하는 데몬 (선택 사항)


8. 결론

NIS는 네트워크 내에서 사용자 계정을 효율적으로 관리할 수 있도록 도와주는 중앙 인증 시스템입니다. 하지만 보안이 취약한 단점이 있기 때문에, 최근에는 LDAP 또는 Kerberos와 같은 보다 안전한 방식으로 대체되고 있습니다.

🔹 사용 목적: 리눅스/유닉스 환경에서 중앙에서 계정 및 시스템 정보를 관리
🔹 필요한 데몬: ypserv, rpcbind
🔹 보안 고려 사항: 최신 시스템에서는 LDAP/Kerberos를 더 추천

👉 현대적인 보안 환경에서는 LDAP 또는 Kerberos와 같은 대체 솔루션을 고려하는 것이 바람직합니다.

반응형