320x100
320x100

chapter 2. NIS / LDAP (네트워크 사용자 인증 서비스)

 

NIS (Network Information Service)

: 네트워크를 기반으로 여러 가지 정보를 제공해주는 서비스

: 다수의 서버에 로그인이 필요할 때 한 서버에 등록된 계정정보를 공유하는 서비스

: Telnet, Samba, ssh 등의 서비스에서 사용자 인증 가능 (RPC기반)

 

 

 

LDAP (Lightweight Directory Access Protocol)

: X.500 Directory Access Protocol 기반으로 만들어진 데이터베이스 접속을 위한 통신 규약

: DAP의 자원소모 단점을 보완하기 위해 등장

: IP 프로토콜을 기반으로 사용자, 시스템, 네트워크, 서비스 정보 등의 디렉터리 정보 공유

: 디렉터리는 논리, 계급, 등을 기준으로 조직화

: RDBMS에 비해 빠른 검색속도. 읽기 위주 검색 서비스에 유리

ㆍ엔트리 : 하나 이상의 속성을 가진 객체

DIT : 엔트리를 조직화 하는 트리모양의 구조

DN/RDN : 조직내의 고유 식별자 / DN을 구성하는 상대 고유이름

ex) DN = /home/ec2-user/j.txt / RDN = j.txt

LDAP 디렉터리 구조의 속성 키워드

c : 국가이름

st : 주 이름

l : 도시 혹은 지역

street : 도로명 주소

o : 조직 이름

ou : 조직 부서 이름

cn : 이름과 성

sn :

givenName : 이름

dc : 도메인 네임

mail : 이메일 주소

telephoneNumber : 전화번호

 

 

 

NIS 구축

service rpcbind start # NIS구동을 위한 rpc데몬 실행

vi /etc/hosts # NIS 서버 및 클라이언트 주소 및 도메인 등록

203.247.40.248 nis.test.co.kr

 

 

 

NIS 서버 데몬 스크립트

ypserv : NIS 서버를 운영하는 주 데몬 스크립트

yppasswdd : NIS 클라이언트의 패스워드 관리

ypxfrd : 서버와 클라이언트 간 매핑속도 향상

 

 

 

NIS 서버 설정

nisdomainname test.co.k # NIS 도메인 설정

혹은 vi /etc/sysconfig/network

NISDOMAIN=test.co.kr

useradd alin # 계정 생성

passwd alin

service ypserv start # 관련 데몬 시작

service yppasswdd start

service ypxfrd start

ps aux | egrep ‘ypserve | yppasswdd | ypxfrd’ # NIS 서버 작동 확인

cd /var/yp \ make # 관련 정보 갱신

make C /var/yp

 

 

 

NIS 클라이언트 설정

yum install ypbind # 클라이언트 관련 데몬 (ypbind) 설치

yum install yp-tools

nisdomainname test.co.kr # NIS 도메인 설정

혹은 vi /etc/sysconfig/network

NISDOMAIN=test.co.kr

vi /etc/yp.conf # NIS서버와 NIS 도메인 설정

server nis.test.co.kr

ypserver nis.test.co.kr

domain test.co.kr

service ypbind start # 관련 데몬 시작

ps aux | grep ypbind # 서버 동작 확인

 

 

 

NIS 클라이언트 명령어

nisdomainname [도메인명] : 설정된 NIS 도메인을 출력하거나 설정

 

 

ypwhich [option] : NIS 클라이언트에서 NIS 서버명과 관련 맵 파일 확인

-m : NIS 서버의 맵 파일 확인

 

 

ypcat _파일명 : NIS 클라이언트에서 NIS 서버의 맵 파일 내용 확인

ex) ypcat hosts : 호스트 관련 정보 출력

ex) ypcat passwd : 사용자 관련 정보 출력

 

yptest : NIS 클라이언트에서 관련 설정 테스트

yppasswd 사용자명 : NIS 클라이언트에서 서버에 등록된 사용자의 패스워드 변경

ypchsh 사용자명 : NIS 클라이언트에서 서버에 등록된 사용자의 셸 변경

ypchfn 사용자명 : NIS 클라이언트에서 서버에 등록된 사용자의 정보 변경

 

 

 

SAMBA

: 윈도와 다른 시스템의 자원 공유를 위한 프로토콜인 SMB를 이용한 서버 프로그램

: 리눅스 및 유닉스 계열 운영체제와 윈도우 운영체제간의 자료 및 하드웨어 공유

: 디렉터리 및 파일공유, 프린터, CD-ROM, USB 공유 가능

: CIFS로 확장되어 TCP/IP를 이용. NetBIOS 프로토콜 지원.

 

samba : 삼바 서버 패키지. 삼바 데몬, 서버 관련 라이브러리, 실행 데몬 스크립트 등 포함

samba-common : 삼바 서버와 클라이언트 모두에 필요한 패키지. smb.confsmbpasswd, testsparm 등 포함

samba-client : 삼바 클라이언트 패키지. smbclient, smbtree 등 포함

 

 

 

삼바데몬

smbd : 파일과 프린터 공유. 사용자 권한 부여 및 확인 등 사용자 인증

nmbd

: WINS (Windows Internet Name Service) 담당 데몬. 클라이언트를 위해 NetBIOS nameserver 지원.

: browsing (서비스통지) 및 컴퓨터 이름과 IP 주소 연결 등의 역할 수행

 

 

/etc/samba/smb.conf : samba 설정 파일

#, ; (주석)

[] (섹션 정의)

name = value (사용하는 옵션과 해당 값 설정)

 

 

 

smb.conf 섹션

[global] : 삼바 서버 전체적인 환경 설정

[homes] : 각 사용자들의 홈 디렉터리 접근시의 권한 설정

[printers] : 프린터 관련 권한 설정

 

 

 

smb.conf [global] 섹션 항목

workgroup = SAMBA # 공유 그룹명

server string = Samba Server # 서버에 대한 설명

netbios name = MYSERVER # 윈도에 접속시 이름

interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 # 네트워크 인터페이스 별 접근 제어

hosts allow = 127. 192.168.12. 192.168.13 # 삼바 서버에 접속을 허용할 호스트 지정. IP주소, 호스트명 가능

log filw = /var/log/samba/log.%m # 삼바 서버에 접속하는 호스트의 로그

max log size = 50 # 로그 파일의 최대 크기

security = user # 삼바서버 인증모드 설정

# user=사용자명/패스워드 필요. domain=윈도의 도메인 컨트롤러 전달. ads=active Directory Server 사용

passdb backend = tdbsam # secyrityuser일시 사용자의 패스워드 설정

 

 

 

smb.conf [share] 섹션 항목

comment : 간단한 설명

path : 공유 디렉터리 경로

read only : 공유 디렉터리 읽기 전용으로 설정

writable, write ok : 공유 디렉터리 쓰기 가능 설정

valid users : 공유 디렉터리 접근 가능 사용자

write list : 공유 디렉터리에 접근 및 쓰기 가능 사용자 지정. 그룹의 경우 앞에 @표시

public, guest ok : 게스트 유저 허용 여부

browseable, browsable : 공유 디렉터리 리스트 확인

printable : 공유 디렉터리에 스풀 파일 지정시 설정

create mask, create mode : 파일 생성시 허가권 지정

 

 

 

smbclient [option] [호스트명] : 윈도 서버 접근시 사용. 호스트 이름 혹은 컴퓨터이름(윈도) 지정.

-L : 접속하려는 서버의 공유 디렉터리 정보 출력 (--list)

-U : 서버 접속시 사용자명 입력 (--user=사용자명[%패스워드])

-M : 호스트에 메시지 전송시 사용. ctrl+d를 눌러 전송 (--message NetBIOS name)

 

smbstatus : 삼바 서버에서 사용. 클라이언트와 연결된 상태 출력

 

testparm [파일경로] [호스트명 IP주소] : smb.conf의 설정 여부 확인

 

nmlookup [option] : WINS 서버 질의. nslookup과 유사

-U : 조회할 서버 이름 지정

-R : 조회할 이름 지정

 

 

 

mount.cifs //공유서버IP/디렉터리 /마운트할_디렉터리 : CIFS기반으로 윈도에 공유된 디렉터리 마운트

smbpasswd [option] [사용자명] : 삼바 사용자 삭제 및 관리

-a : 삼바 사용자 추가. 리눅스에 존재하는 계정이여야 함

-x : 삼바 사용자 제거

-d : 삼바 사용자 일시적 비활성화

-e : 삼바 사용자 활성화

-n : 패스워드 없이 로그인. smb.confnull passwords=yes 설정 필요

 

 

pdbedit [option] [사용자명] : 삼바 사용자 데이터베이스 파일인 SAM database 관리

-a : 삼바 사용자 추가

-L : 등록된 삼바 사용자 간단한 목록

-v : 등록된 삼바 사용자의 자세한 정보 출력

 

300x250
728x90