Kerberos 설치 & 사용

Hadoop 자체 가 안전 인증 이 없 기 때문에 제3자 의 안전 인증 체 제 를 도입 해 야 한다.kerbeos 는 hadop 이 비교적 인기 있 는 인증 방식 이다.kerbeos 설정 이 간단 합 니 다.하지만 실제 사용 할 때 는 게임 규칙 을 제대로 지 키 지 않 으 면 된다.너 는 자주 이상 한 문제 에 부 딪 힐 것 이다.
1. kerbeos 패키지 설치
yum install krb5*
vi /etc/krb5.conf

2. kerbeos 설정 파일 수정
# more /etc/krb5.conf 
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log
[libdefaults]
 default_realm = LIANG.COM
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 2d
 forwardable = false
[realms]
 LIANG.COM = {
  kdc = c6701
  admin_server = c6701
  default_domain = liang.com
  key_stash_file = /var/kerberos/krb5kdc/.k5.LIANG.COM
  dict_file = /usr/share/dict/words
 }
[domain_realm]
 .liang.com = LIANG.COM
 liang.com = LIANG.COM

3. kdc 프로필 수정
cat /var/kerberos/krb5kdc/kdc.conf
[kdcdefaults]
 kdc_ports = 88
 kdc_tcp_ports = 88
[realms]
 LIANG.COM = {
  kadmind_port = 749
  master_key_type = aes256-cts-hmac-sha1-96
  acl_file = /var/kerberos/krb5kdc/kadm5.acl
  dict_file = /usr/share/dict/words
  supported_enctypes = des3-cbc-sha1:normal
  max_life = 24h 0m 0s
  max_renewable_life = 7d 0h 0m 0s
  dict_file = /usr/share/dict/words
  key_stash_file = /var/kerberos/krb5kdc/.k5.LIANG.COM
  database_name = /var/kerberos/krb5kdc/principal
 }

명령 을 실행 하여 kdc 데이터 베 이 스 를 만 듭 니 다.
kdb5_util create -s -r HADOOP.LIANG.COM

4. 데이터베이스 관리자 에 게 ACL 권한 을 추가 하고 kadm5. acl 파일 을 수정 합 니 다. * 모든 권한 을 대표 합 니 다.
# cat /var/kerberos/krb5kdc/kadm5.acl
*/[email protected]   *

5. 서비스 시작
# service krb5kdc start
# service kadmin start
# service krb5kdc status
# service kadmin status
# chkconfig krb5kdc on
# chkconfig kadmin on

6. 보충: 모든 클 라 이언 트 의 시스템 매개 변수 / etc / profile 에 다음 매개 변 수 를 추가 하여 매번 su - user 가 같은 tgt 를 사용 할 수 있 도록 합 니 다. 새 것 을 만 드 는 것 이 아니 라 찾 을 수 없 기 때문에 su 의 사용자 kinit 가 실 패 했 습 니 다.
# workaround for kerberos loging
export KRB5CCNAME=FILE:/tmp/krb5cc_`id -u`

7. principal 만 들 기
kadmin.local -q "addprinc -pw  "

hadop 사용자 에 게 호스트 이름 을 추가 하고 principal 을 함께 만 들 며 안전성 을 증가 합 니 다.
메모: hadop 은 소문 자 호스트 이름 으로 만 등록 할 수 있 습 니 다.호스트 이름 에 대문자 가 있 으 면 수 동 으로 소문 자로 바 꿉 니 다.후속 kinit 때 도 소문 자 를 사용 합 니 다.hadop 은 대문자 호스트 이름 을 소문 자로 자동 으로 바 꿉 니 다.
kadmin.local -q "addprinc -pw  hdfs/"

8. keytab 만 들 기
kadmin.local -q "ktadd -norandkey -k /root/keytab/.keytab "

9. 등록
kinit -kt /root/keytab/hdfs.keytab 

hadop 사용자 에 게 호스트 이름 을 추가 하고 principal 을 함께 만 들 며 안전성 을 증가 합 니 다.
kinit -kt /root/keytab/hdfs.keytab hdfs/`hostname`

10. 현재 사용자 의 kinit 상황 조회
$ klist
Ticket cache: FILE:/tmp/krb5cc_1098
Default principal: hdfs/[email protected]
Valid starting     Expires            Service principal
03/26/18 17:19:04  03/27/18 17:19:04  krbtgt/[email protected]
        renew until 04/02/18 17:19:04

11. keytab 파일 내용 조회
$ klist -kt /etc/security/keytab/hdfs.keytab 
Keytab name: FILE:/root/keytab/hdfs.keytab
KVNO Timestamp         Principal
---- ----------------- --------------------------------------------------------
   1 04/07/17 16:16:04 hdfs/[email protected]
   1 04/07/17 16:16:04 hdfs/[email protected]
   1 04/07/17 16:16:05 hdfs/[email protected]

12. 사용자 목록
kadmin.local -q "listprincs"

13. 사용자 삭제
kadmin.local -q "delprinc -force HTTP/[email protected]"

14. 비밀번호 수정
kpasswd    

좋은 웹페이지 즐겨찾기