---
title: "Secure Hadoop 계정 관리"
slug: "securehadoop-7-vpc"
updated: 2026-05-21T09:01:29Z
published: 2026-05-21T09:03:08Z
canonical: "guide-gov.ncloud-docs.com/securehadoop-7-vpc"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://guide-gov.ncloud-docs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Secure Hadoop 계정 관리

VPC 환경에서 이용 가능합니다.

Secure Hadoop은 Kerberos와 LDAP 기반의 계정 시스템을 사용합니다. 이 두 인증 시스템은 마스터 노드 2대에 이중화되어 있으며, 엣지 노드를 통해 접근이 가능합니다. 사용자 계정의 추가/변경/삭제 작업은 Kerberos와 LDAP 각각에 대해 별도로 명령어를 실행해야 합니다. 또한, 두 시스템에서 사용자 ID는 반드시 일치해야 하며, keytab 파일은 사용자 인증을 위해 필수입니다.

          주의

          

- Kerberos와 LDAP의 사용자 정보는 Secure Hadoop를 구성하는 중요한 요소입니다.
- 클러스터에 의해 만들어지고 사용되어지는 principal, keytab, ldap 정보의 수정/삭제 시 클러스터가 오동작할 수 있습니다.
- 단, 사용자가 직접 생성한 principal, ldap 정보는 제외입니다.

## Kerberos

Kerberos는 마스터 노드에서 접속이 가능합니다. 관리자 쉘에서 principal을 제어하는 방법은 다음과 같습니다.

1. 관리자 쉘에 접속해 주십시오.

```
kadmin.local
```
2. principal을 신규 생성해 주십시오.

```
# 랜덤 키로 principal 생성
addprinc -randkey user1@USER.GUIDE
# 직접 패스워드를 입력하여 principal 생성
addprinc user1@USER.GUIDE
```
3. principal 패스워드를 변경해 주십시오.

```
change_password user1@USER.GUIDE
```
4. principal keytab 파일을 다운로드해 주십시오.

```
ktadd -k /tmp/user1.keytab user1@USER.GUIDE
```
5. keytab 파일을 사용해 principal로 로그인해 주십시오.

```
kinit -kt /tmp/user1.keytab user1@USER.GUIDE
```
6. principal 로그인 상태를 확인해 주십시오.

```
# 현재 vm에 로그인한 사용자의 principal 정보
klist 
# 내려받은 keytab의 principal 정보 
klist -kt /tmp/user1.keytab
```
7. principal 삭제해 주십시오.

```
delprinc user1@USER.GUIDE
```

## LDAP

LDAP은 사용자 정보를 저장하고 관리하는 디렉터리 서비스로, Secure Hadoop에서는 Kerberos와 연동하여 인증 및 권한 관리를 수행합니다.

1. 사용자를 등록해 주십시오.

```
# uidNumber`는 중복되지 않는 고유 숫자를 사용하세요.
ldif=/tmp/add-account.ldif
HASH_USER_PW=$(slappasswd -h "{SSHA}" -s "신규_패스워드")

cat <<EOF | tee $ldif
dn: uid=계정명,ou=users,dc=USER,dc=GUIDE
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
cn: 사용자명
sn: 사용자명
uid: 사용자명
uidNumber: 30001
gidNumber: 30001
homeDirectory: /home/사용자명
loginShell: /bin/bash
userPassword: ${HASH_USER_PW}
EOF

ldapadd \
  -H ldap://localhost:389 \
  -D "cn=root,dc=USER,dc=GUIDE" \
  -w "커버로스_패스워드" \
  -f "$ldif"
```
2. 사용자를 그룹에 추가해 주십시오.

```
ldif=/tmp/modify-group.ldif

cat <<EOF | tee $ldif
dn: cn=그룹명,ou=groups,dc=USER,dc=GUIDE
changetype: modify
add: memberUid
memberUid: 사용자명
EOF

ldapmodify \
  -H ldap://localhost:389 \
  -D "cn=root,dc=USER,dc=GUIDE" \
  -w "커버로스_패스워드" \
  -f "$ldif"
```
3. 사용자를 확인해 주십시오.

```
ldapsearch \
  -H ldap://localhost:389 \
  -D "cn=root,dc=USER,dc=GUIDE" \
  -w "커버로스_패스워드" \
  -b "dc=USER,dc=GUIDE" \
  "(uid=사용자명)"
```
4. 사용자의 패스워드를 변경해 주십시오.

```
ldif=/tmp/modify-account.ldif
HASH_USER_PW=$(slappasswd -h "{SSHA}" -s "신규_패스워드")

cat <<EOF | tee $ldif
dn: uid=계정명,ou=users,dc=USER,dc=GUIDE
changetype: modify
replace: userPassword
userPassword: ${HASH_USER_PW}
EOF

ldapmodify \
  -H ldap://localhost:389 \
  -D "cn=root,dc=USER,dc=GUIDE" \
  -w "커버로스_패스워드" \
  -f "$ldif"
```
5. 사용자를 삭제해 주십시오.

```
ldapdelete \
  -H ldap://localhost:389 \
  -D "cn=root,dc=USER,dc=GUIDE" \
  -w "커버로스_패스워드" \
  "uid=계정명,ou=users,dc=USER,dc=GUIDE"
```
