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 서버 동작 원리
- NIS 클라이언트가 로그인을 시도하면, ypbind 데몬이 실행되어 NIS 서버에서 계정 정보를 조회함.
- NIS 서버(ypserv)는 요청을 받고 데이터베이스(NIS 맵)에서 해당 사용자 정보를 찾아 클라이언트에 제공함.
- 클라이언트는 받은 정보를 바탕으로 인증을 진행하고, 성공하면 정상적으로 로그인됨.
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와 같은 대체 솔루션을 고려하는 것이 바람직합니다.
'Linux > 리눅스 시스템 관리' 카테고리의 다른 글
우분투 서버의 GNOME과 클라이언트의 Budgie Desktop 차이점 및 특징 (3) | 2025.03.18 |
---|---|
dnf update와 dnf upgrade의 차이 (3) | 2025.03.10 |
패키지 관리 시스템, DNF (Dandified YUM) (2) | 2025.03.04 |
Rocky Linux에서 키보드 설정 방법 (5) | 2025.02.24 |
Rocky Linux에서 Google Chrome 설치 (6) | 2025.02.23 |