II. 웹 관련 서비스
속성 |
내용 |
o |
Organization(최상위 조직) |
ou |
Organizational Unit(조직의 부서) |
cn |
Common Name(가장 일반적인 이름) |
objectClass |
속성이 따르는 스키마 |
root@bjkim:~# yum install ypserv
root@bjkim:~# ypdomainname bjkim.com root@bjkim:~# nisdomainname bjkim.com
[2] hostname 설정
root@bjkim:~# hostname nis.bjkim.com root@bjkim:~# hostname nis.bjkim.com
(서버 부팅 후에도 위 사항 적용되게 설정: "/etc/sysconfig/network"에 다음 내용을 수정 및 추가)
NISDOMAIN=bjkim.com HOSTNAME=nis.bjkim.com
(설정한 호스트네임에 대한 IP를 설정: "/etc/hosts"의 최상단에 다음 내용을 추가)
192.168.0.129 nis.bjkim.com
[3] NIS 서버에 대한 보안 설정
255.255.255.255 127.0.0.1 255.255.255.0 192.168.0.0
# MERGE_PASSWD=true|false #MERGE_PASSWD=true MERGE_PASSWD=false # MERGE_GROUP=true|false #MERGE_GROUP=true MERGE_GROUP=false #all: passwd group hosts rpc services netid protocols mail \ all: passwd shadow group hosts rpc services netid protocols mail \
[5] NIS 서버 시작
(NIS 서버에 필요한 portmap, NIS 서버 ypserv, NIS 비밀번호 변경을 위한yppasswdd, NIS Slave에서 NIS Master의 데이터베이스를 가져오기 위해 필요한 ypxfrd 를 시작하고 서버 부팅시 자동시작 되게 끔 설정)
root@bjkim:~# service portmap start portmap (을)를 시작 중: [ OK ] root@bjkim:~# service ypserv start YP 서버 서비스를 시작 중: [ OK ] root@bjkim:~# service yppasswdd start YP passwd서비스를 시작 중: [ OK ] root@ bjkim:~# service ypxfrd start YP map서버를 시작 중: [ OK ] root@bjkim:~# chkconfig portmap on root@bjkim:~# chkconfig ypserv on root@bjkim:~# chkconfig yppasswdd on root@bjkim:~# chkconfig ypxfrd on
[6] NIS Master 서버 초기화
root@bjkim:~# /usr/lib64/yp/ypinit -m
[7] 테스트 계정 생성
root@bjkim:~# useradd bjkim root@bjkim:~# passwd bjkim Changing password for user bjkim. New UNIX passwd: <비밀번호입력> Retype new UNIX password: <비밀번호입력> passwd: all authentication tokens updated successfully.
[8] NIS 서버 데이터베이스(맵) 갱신
root@bjkim:~# cd /var/yp/ root@bjkim:~# make gmake[1]: Entering directory '/var/yp/bjkim.com' Updating netid.byname... gmake[1]: Leaving directory '/var/yp/bjkim.com'
(strings 명령어로 갱신된 데이터베이스 확인)
root@bjkim:~# strings /var/yp/bjkim.com/passwd.byname | grep bjkimYP_MASTER_NAMEnis.bjkim.comYP_INPUT_NAME /etc/passwdYP_OUTPUT_NAME/var/yp/bjkim.com/passwd.bynameYP_LAST_MODIFIED1368924178mysqlmysql:x:500:500:: /usr/local/mysql:/bin/bashbjkimbjkim:x:501:501::/home/bjkim:/bin/bash
[9] NIS 서버의 데이터베이스 파일들 확인
root@bjkim:~# tree /var/yp/ /var/yp/ |--Makefile |--binding |--nicknames |--securenets |--bjkim.com | |--group.bygid | |--group.byname | |--hosts.byaddr | |--hosts.byname | |--mail.aliases | |--netid.byname | |--passwd.byname | |--passwd.byuid | |--protocols.byname | |--protocols.bynumber | |--rpc.byname | |--rpc.bynumber | |--services.byname | |--services.byservicename | |--shadow.byname | '--ypservers '--ypservers
root@bjkim:~# ypdomainname bjkim.com root@bjkim:~# nisdomainname bjkim.com
root@bjkim:~# hostname niss.bjkim.com root@bjkim:~# hostname niss.bjkim.com
(서버 부팅 후에도 위 사항 적용되게 설정: "/etc/sysconfig/network"에 다음 내용을 수정 및 추가)
NISDOMAIN=bjkim.com HOSTNAME=niss.bjkim.com
(설정한 호스트네임에 대한 IP를 설정: "/etc/hosts"의 최상단에 다음 내용을 추가)
192.168.0.129 nis.bjkim.com 192.168.0.130 niss.bjkim.com
255.255.255.255 127.0.0.1 255.255.255.0 192.168.0.0
# MERGE_PASSWD=true|false #MERGE_PASSWD=true MERGE_PASSWD=false # MERGE_GROUP=true|false #MERGE_GROUP=true MERGE_GROUP=false #all: passwd group hosts rpc services netid protocols mail \ all: passwd shadow group hosts rpc services netid protocols mail \
root@bjkim:~# service portmap start portmap (을)를 시작 중: [ OK ] root@bjkim:~# service ypserv start YP 서버 서비스를 시작 중: [ OK ] root@bjkim:~# service yppasswdd start YP passwd서비스를 시작 중: [ OK ] root@ bjkim:~# service ypxfrd start YP map서버를 시작 중: [ OK ] root@bjkim:~# chkconfig portmap on root@bjkim:~# chkconfig ypserv on root@bjkim:~# chkconfig yppasswdd on root@bjkim:~# chkconfig ypxfrd on
root@bjkim:~# /usr/lib64/yp/ypinit -s nis.bjkim.com
[1] NIS 도메인 설정
root@bjkim:~# ypdomainname bjkim.com root@bjkim:~# nisdomainname bjkim.com
(서버 부팅 후에도 위 사항 적용되게 설정: "/etc/sysconfig/network"에 다음 내용을 수정 및 추가)
NISDOMAIN=bjkim.com
(설정한 호스트네임에 대한 IP를 설정: "/etc/hosts"의 최상단에 다음 내용을 추가)
192.168.0.129 nis.bjkim.com 192.168.0.130 niss.bjkim.com
#USENIS=no USENIS=yes
[3]NIS 서버 리스트 추가
("/etc/yp.conf"파일에 추가)
domain bjkim.com server nis.bjkim.com domain bjkim.com server niss.bjkim.com
[4]nsswitch.conf 파일 수정
(우선순위 변경: ex. passwd파일은 /etc/passwd 파일을 참조 후 NIS를 참조하며, hosts는 /etc/hosts파일을 참조 후 DNS서버에 조회를 하며, NIS를 참조)
#passwd: files passwd: files nis #shadow: files shadow: files nis #group: files group: files nis #hosts: files dns hosts: files dns nis
[5] 홈디렉토리 없을 시 자동생성 설정
PAM설정: "/etc/pam.d/system-auth" 파일 가장 아래에 추가
sessiion optional pam_mkhomdir.so skel=/etc/skel umask=077
[6] NIS 클라이언트 시작
root@bjkim:~# service portmap start portmap (을)를 시작 중: [ OK ] root@bjkim:~# /etc/init.d/ypbind start start NIS 도메인에 연결함: [ OK ] NIS 도메인 서버를 찾는 중. root@bjkim:~# chkconfig portmap on root@bjkim:~# chkconfig ypbind on
[7] NIS 클라이언트 확인
root@bjkim:~# ssh -l bjkim 192.168.0.115 bjkim@192.168.0.115's password: <비밀번호> Creating directory '/home/bjkim'. Creating directory '/home/bjkim/.mozilla'. Creating directory '/home/bjkim/.mozilla/extensions'. Creating directory '/home/bjkim/.mozilla/plugins'.
(로그인 후 ypwhich명령어로 인증받은 NIS 서버를 조회)
root@bjkim:~# ypwhich nis.bjkim.com
(ypcat 명령어로 passwd파일과 hosts파일 조회)
root@bjkim:~# ypcat passwd bjkim:x:501:501::/home/bjkim:/bin/bash mysql:x:500:500::/usr/local/mysql:/bin/bashroot@bjkim:~# ypcat hosts 127.0.0.1 localhost.localdomain localhost bjkim-64Bit 127.0.0.1 localhost.localdomain localhost bjkim-64Bit 127.0.0.1 localhost.localdomain localhost bjkim-64Bit 192.168.0.129 nis.bjkim.com 192.168.0.130 niss.bjkim.com
(yptest명령어로 테스트)
root@bjkim:~# yptest
root@bjkim:~# yum install openldap opendap-servers openldap-clients
[1] OpenLDAP 관리자 비밀번호 생성
root@bjkim:~# slappasswd New password: 비밀번호 Re-enter new password: 비밀번호 {SSHA}AS4d0W6HcCVurbmsVP3kWx7DYFcblAYS
[2] OpenLDAP 서버 설정파일 수정
("/etc/openldap/slapd.conf" 파일 수정)
uffix "dc=my-domain,dc=com" rootdn "cn=Manager,dc=my-domain,dc=com" ==> suffix "dc=bjkim,dc=com" rootdn "cn=Manager,dc=bjkim,dc=com"
[3] OpenLDAP 서버 시작
(서비스 시작 후 서버 부팅 시 자동시작 되게끔 설정)
root@bjkim:~# service ldap start slapd (을)를 시작 중: [ OK ] root@bjkim:~# chkconfig ldap on
[4] 조직 구성 설정
(부서 구성: "/root/base.ldif 파일 작성)
dn: dc=bjkim,dc=com dc: bjkim objectClass: top objectClass: domain dn: ou=People,dc=bjkim,dc=com ou: People objectClass: top objectClass: organizationalUnit dn: ou=Group,dc=bjkim,dc=com ou: Group objectClass: top objectClass: organizationalUnit
(위에서 작성한 내용을 LDAP DB에 추가: <옵션> -x:간단한인증, -W:비밀번호 프롬프트에서 받음, -D: DN 지정)
root@bjkim:~# ldapadd -x -W -D "cn=Manager,dc=bjkim,dc=com" -f base.ldif Enter LDAP passwd: 비밀번호 adding new entry "dc=bjkim,dc=com" adding new entry "ou=People,dc=bjkim,dc=com" adding new entry "ou=Group,dc=bjkim,dc=com"
(계정 정보 생성: "/root/user.ldif" 파일 작성)
dn: uid=bjkim,ou=People,dc=bjkim,dc=com objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: bjkim sn: bjkim givenName: bjkim cn: bjkim displayName: bjkim uidNumber: 501 gidNumber: 501 userPassword: {crypt}8peqVKpwvyrWQ gecos: bjkim loginShell: /bin/bash homeDireectory: /home/bjkim shadowExpire: -1 shadowFlag: 0 shadowWarning: 7 shadowMin: 0 shadowMax: 99999 shadowLastChange: 15844
(위에서 작성한 내용을 LDAP DB에 추가)
root@bjkim:~# ldapadd -x -W -D "cn=Manager,dc=bjkim,dc=com" -f user.ldif Enter LDAP Password:비밀번호 adding new entry "uid=bjkim,ou=People,dc=bjkim,dc=com"
(그룹 정보 생성: "/root/group.ldif 파일 작성)
dn: cn=bjkim,ou=Group,dc=bjkim,dc=com objectClass: posixGroup dn: bjkim gidNumber: 501
(위에서 작성한 내용을 LDAP DB에 추가)
ldapadd -x -W -D "cn=Manager,dc=bjkim,dc=net" -f group.ldif Enter LDAP Password: 비밀번호 adding new entry "cn=bjkim,ou=Group,dc=bjkim,dc=net"
[5] OpenLDAP 서버의 데이터베이스 파일들 확인
root@bjkim:~# tree /var/lib/ldap/ /var/lib/ldap/ |--__db.001 |--__db.002 |--__db.003 |--__db.004 |--__db.005 |--__db.006 |--alock |--cn.bdb |--dn2id.bdb |--gidNumber.bdb |--givenName.bdb |--id2entry.bdb |--log.0000000001 |--loginShell.bdb |--memberUid.bdb |--objectClass.bdb |--ou.bdb |--sn.bdb |--uid.bdb '--uidNumber.bdb
③LDAP 클라이언트 설정
[1] 인증설정 편집
#USELDAPAUTH=no USELDAPAUTH=yes #USELDAP=no USELDAP=yes
[2] nsswitch.conf 파일 수정
(관리 정보의 종류에 따라 검색 경로를 명시 할 수 있는 중앙 설정 파일)
#passwd: files passwd: files ldap #shadow: files shadow: files ldap #group: files group: files ldap
[3] ldap.conf 수정
("/etc/ldap.conf" 파일에 DN을 설정하고, LDAP 서버의 IP를 다음과 같이 수정)
#base dc=example,dc=com base dc=bjkim,dc=com uri ldap://LDAP서버아이피/
("/etc/openldap/ldap.conf" 파일에 DN을 설정하고, LDAP 서버의 IP를 다음과 같이 수정)
#BASE dc=example, dc=com BASE dc=bjkim,dc=com #URI ldap://ldap.example.com ldap://ldap-master.example.com:666 URI ldap://LDAP서버아이피/
[4] 홈디렉터리 없을 시 자동생성 설정
("/etc/pam.d/system-auth"의 가장 아래에 다음 내용을 추가)
session optional pam_mkhomedir.so skel=/etc/skel umask=077
[5] LDAP 클라이언트 확인
(bjkim 계정으로 로그인 하여 테스트)
root@bjkim:~# ssh -l bjkim 192.168.0.115 bjkim@192.168.0.115's password: <비밀번호> Creating directory '/home/bjkim'. Creating directory '/home/bjkim/.mozilla'. Creating directory '/home/bjkim/.mozilla/extensions'. Creating directory '/home/bjkim/.mozilla/plugins'.
(로컬에 존재하지 않고, LDAP 서버에 생성된 "bjkim"계정의 정보를 확인)
root@bjkim:~# getent shadow | grep bjkim bjkim:8peqVKpwvyrWQ:15844:0:99999:7:::0
'자격증 > 리눅스 마스터 1급' 카테고리의 다른 글
Part3) 네트워크 및 서비스의 활용 - 네트워크 서비스 | 파일관련 서비스 | NFS, FTP (0) | 2018.08.30 |
---|---|
Part3) 네트워크 및 서비스의 활용 - 네트워크 서비스 | 파일관련 서비스 | 삼바서버 (0) | 2018.08.28 |
Part3) 네트워크 및 서비스의 활용 - 네트워크 서비스 | 웹 관련 서비스 (0) | 2018.03.07 |
Part2) 리눅스 시스템 관리 -시스템 보안 및 관리(3) | 시스템 백업 (0) | 2018.03.06 |
Part2) 리눅스 시스템 관리 -시스템 보안 및 관리(2) | 시스템 보안 및 관리 (0) | 2018.03.05 |