티스토리 뷰

728x90
반응형

인증 관련 서비스

인증 관련 서비스의 이해

인증의 개요

  • 하나의 서버에 사용자 관련 정보를 저장하고, 나머지 다수의 다른 서버에 사용자, 암호, 그룹 정보 등을 제공하는 서비스를 말함
  • NIS, LDAP, 액티브 디렉터리(윈도우용)

NIS(Network Information Service)의 개요

  • Sun Microsystems사에서 개발
  • 네트워크 기반으로 여러 가지 정보를 제공해 주는 서비스
  • 하나의 서버에 등록된 사용자 계정, 암호, 그룹 정보 등을 공유하여 다른 시스템에 제공하는 서비스
  • 초기에는 YP라는 이름으로 출시가 되어 관련 명령어들이 yp로 시작하는 계기가 됨
  • 보안을 강화하고, 확장성과 유연성을 높인 NIS+를 발표
  • NIS+는 RPC(Remote Procedure Call)에서 데이터 암호화 및 인증, 운영 중에 권한 설정, 복제 등을 지원

LDAP(Lghtweight Directory Access Protocol)의 개요

  • x.500 Directory Access Protocol(DAP) 기반으로 만들어진 디렉터리 데이터베이스에 접속하기 위한 통신 규약
  • IP 프로토콜 기반으로 사용자, 시스템, 네트워크, 서비스 정보 등의 디렉터리 정보를 공유할 수 있음
  • 일반적으로 RDBMS에 비해서 검색 속도가 빠름. 그러나 자주 변경되는 정보인 경우에는 RDBMS를 사용하는 것이 좋음
  • 하나 이상의 속성을 가진 객체로 구성되고, 그 객체를 엔트리라고 부르는데 RDBMS의 레코드라고 이해하면 쉬움.
  • 각각의 엔트리는 DIT(Directory Information Tree)라 부르는 트리 구조에 의해 조직화되고, 이 조직내에서 고유한 식별자인 DN(Distinguished Name)을 사용하고, DN은 상대 고유 이름(RDN: Relative Distinguished Name)으로 구성.
  • DN은 파일 시스템의 절대 경로처럼 해당 엔트리의 이름에 상위 엔트리 이름을 붙여서 식별하고, RDN은 상대 경로처럼 상대 DN을 의미함.
  • 예를 들면, /home/posein/joon.txt가 DN, joon.txt는 RDN.

인증 관련 서버 관리

NIS 이용하기

NIS 구성을 위한 작업

  1. RPC 관련 데몬 실행하기
    $ /etc/rc.d/init.d/rpcbind start

  2. /etc/hosts 파일 수정
    NIS 서버 및 클라이언트 모두 각각의 IP 주소 및 도메인을 등록하여 DNS 조회 없이 더욱 빠르게 이용
    $ vi /etc/hosts
    203.247.40.248 nis.test.co.kr
    203.247.40.246 nis_client.test.co.kr

NIS 서버 구성하기

NIS 서버용 패키지명은 ypserv.
$ yum install ypserv

ypserv 패키지 설치시 NIS 서버 운영에 필요한 3개의 데몬 스크립트가 설치됨

  • ypserv : 주 데몬 스크립트
  • yppasswdd : NIS 클라이언트에서 패스워드 시에 적용되도록 해주는 데몬 스크립트
  • ypxfrd : NIS 서버와 NIS 클라이언트 간의 맵핑 속도를 높여줌
  1. NIS 도메인명 설정
    nisdomainname이라는 명령을 사용하여 지정해도 되지만, 계속 사용시 부팅시에 적용되도록 /etc/sysconfig/network 파일에 등록
    $ nisdomainname test.co.kr
    vi /etc/sysconfig/network
    NISDOMAIN=test.co.kr

  2. 계정 생성
    $ useradd alin
    $ passwd alin

  3. 관련 데몬 시작하기
    ypserc, yppasswdd, ypxfrd를 구동

  4. NIS 서버 작동 확인
    $ ps aux | grep yp

  5. 관련 정보 갱신
    $ cd /var/yp; make
    $ make -C /var/yp

NIS 클라이언트 구성하기

ypbind와 yp-tools라는 패키지 설치되어 있어야 함

$ yum install ypbind, yp-tools

  1. NIS 도메인명 설정(서버와 같음)

  2. NIS 서버와 nisdomain 설정
    /etc/yp.conf 파일에 NIS 서버 및 도메인명을 지정
    $ vi /etc/yp.conf
    server nis.test.co.kr
    ypserver nis.test.co.kr
    domain test.co.kr

  3. 관련 데몬 시작하기
    $ service ypbind start

NIS 클라이언트에서 사용하기

  1. 인증 변경
    setup 명령 → 인증 설정 → 도메인, 서버를 지정

  2. 로그인 해보기
    NIS 클라이언트에서 telnet localhost 명령을 내려서 서버에 생성된 계정으로 로그인

NIS 관련 명령어

nisdomainname
NIS 도메인명을 보여주거나 설정하는 명령

[사용법]
$ nisdomainname [도메인명]

ypwhich
NIS 클라이언트에서 사용하는 명령어. NIS 서버명과 관련 맵 파일을 보여줌

[사용법]
$ ypwhich [option]

옵션

  • -m : NIS 서버의 맵 파일을 출력

ypcat
NIS 클라이언트에서 사용하는 명령어. NIS 서버의 데이터베이스라고 할 수 있는 맵 파일의 내용을 확인

[사용법]
$ypcat 맵_파일명

yptest
NIS 클라이언트에서 관련 설정을 테스트하는 명령. 도메인명, NIS 도메인명, 맵 파일 목록, 사용자 계정 정보 등을 출력.

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

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

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

파일 관련 서비스

삼바 서버 관리

삼바의 개요

삼바 설치의 개요

  • MS와 인텔이 윈도 시스템이 다른 시스템의 디스크나 프린터 등의 자원을 공유할 수 있도록 SMB(Server Message Block)이라는 프로토콜을 개발
  • 삼바란 이 SMB를 이용하여 리눅스를 비롯한 유닉스 계열 운영체제와 윈도우 운영체제간의 자료 공유 및 하드웨어를 공유할 수 있도록 해줌.
  • 현재 SMB는 유닉스와 윈도 환경을 동시에 지원하는 CIFS(Common Internet File System)으로 확장
  • CIFS는 IETF(Internet Engineering Task Force)에 의해 인터넷 표준으로 제안, TCP/IP를 사용하며 NetBIOS 프로토콜을 지원, LanManager 기능도 제공

삼바의 구성

  • GPL 기반의 공개 소프트웨어 및 자유 소프트웨어
  • configure, make, make install을 이용.
  • 레드헷 계열 리눅스에서는 rpm 패키지로 배포

삼바 관련 주요 RPM 패키지

  • samba : 삼바 서버 패키지
  • samba-common : 서버, 클라이언트에게 모두 필요. smb.conf, smbpasswd, testparm 등의 명령어 포함
  • samba-client : 삼바 클라이언트 명령어. smbclient, smbtree 등
  • samba-swat : 웹 기반으로 삼바를 제어. smb.conf의 주요 설정을 원격에서 제어. 901번 포트 사용.

데몬

  • smbd : 파일과 프린터 공유. 사용자의 권한 부여 및 확인 등 사용자 인증
  • nmbd : WINS(Windows Internet Name Server)를 담당하는 데몬. 클라이언트를 위해 NetBIOS nameserver를 지원, browsing(서비스 통지) 지원, 컴퓨터 이름과 IP 주소 연결 등의 역할 수행.

환경 설정 파일 : smb.conf

  • 삼바 서버를 제어, 공유시킬 시스템 자원에 대한 다양한 설정
  • /etc/samba 디렉터리 안에 존재
  • win.ini와 비슷
  • 'Global Setting' 영역과 'Share Definitions' 영역으로 나눌 수 있음.
  • #, ;으로 시작하는 행 모두 주석이며, [ ]을 사용하는 행이 섹션을 정의하는 역할.

security 설정 주요 모드

  • user : 사용자명과 패스워드로
  • share : 사용자 인증 없이 접근
  • server : 윈도우 NT 서버와 같이 다른 서버에 사용자명과 암호를 전달
  • domain 또는 ads(Active Directory Server) : 윈도우의 도메인 컨트롤러에 전달하여 유효한 사용자 여부를 확인할 때 사용.

사용자 맵핑 파일
/etc/samba/smbuser 파일은 유닉스 계열 사용자 이름과 삼바 사용자간의 이름을 매칭시키는 설정 파일. root는 administrator 및 admin으로 매칭, nobody는 guest, pcguest, smbguest로 매칭

관련 명령어

smbclient
리눅스 및 유닉스에서 사용하는 삼바 클라이언트 명령으로 윈도 서버로 접근시 사용.

[사용법]
$ smbclient [option] 호스트명

옵션

  • -L : 접속하려는 삼바 서버의 공유 디렉터리 정보를 출력
  • -U : 삼바 서버에 접속할 때 사용자명 입력
  • -M : 지정한 호스트명에 메시지를 전송할 때 사용.

smbstatus
삼바 서버에 사용하는 명령어로 클라이언트와 연결된 상태를 출력

testparm
삼바의 환경 설정 파일인 smb.conf의 설정 여부를 확인

[사용법]
$testparm [파일경로] [호스트명 IP 주소]

nmblookup
WINS 서버에 질의할 때 사용하는 명령.

[사용법]
$nmblookup [option]

옵션

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

mount.cifs
CIFS 기반의 마운트 명령으로 보통 윈도우에 공유된 디렉터리를 마운트할 때 사용. 'mount -t cifs'와 동일.

[사용법]
$mount.cfs //공유서버/디렉터리 /마운트할_디렉터리

smbpasswd
삼바 사용자를 생성 및 삭제 패스워드 변경, 활성 및 비활성화 등 관련 정보를 변경하는 명령.

[사용법]
$ smbpasswd [option] [사용자명]

옵션

  • -a : 삼바 사용자를 추가
  • -x : 제거
  • -d : 일시적 비활성화
  • -e : 활성화
  • -n : 패스워드 없이 로그인이 가능하도록 할 때. smb.conf에 'null passwords = yes'라고 추가 설정

pdbedit
삼바 사용자의 데이터베이스 파일인 SAM database를 관리

[사용법]
$pdbedit [option] 사용자명

옵션

  • -a : 삼바 사용자 추가시 사용
  • -L : 등록된 삼바 사용자의 간단한 목록을 출력
  • -v : 등록된 삼바 사용자의 정보를 자세히 출력

NFS 서버 관리

NFS(Network File System)의 개요

  • Sun Microsystems사에서 개발한 프로토콜로 TCP/IP 네트워크상에서 다른 컴퓨터의 파일 시스템을 마운트하고 공유
  • RPC 기반으로 작동. rpcbind 데몬을 먼저 실행
  • 보안에 미약

NFS 관련 주요 RPM 패키지

  • rpcbind : RPC 기반 연결을 위한 패키지. rpcbind, rpcinfo 등을 포함
  • nfs-utils : NFS 서버 관련 패키지로 관련 데몬 및 명령어를 포함

NFS 서버의 설정

접근 제어는 /etc/exports에서 설정함.

환경 설정 파일 : /etc/exports

[설정법]
공유할디렉터리 허가할호스트(옵션) [허가할_호스트(옵션)…]

옵션

  • ro : 읽기 전용
  • rw : 읽기 및 쓰기
  • root_squash : NFS 클라이언트에서 접근하는 root 사용자를 무시하고 서버상의 nobody로 매핑
  • no_root_squash : 위 반대
  • no_subtree_check : 하위 디렉터리를 검사하지 못하도록
  • all_squash : 모든 사용자의 권한을 nobody로 매핑
  • secure : 포트 번호가 1024 이하의 요청에만 허가
  • async : 데이터 변경에 대비해 비동기적 처리를 할 때
  • anongid : 접근하는 그룹 권한을 지정하는 gid로 매핑

NFS 클라이언트에서 사용하기

mount 명령을 이용하여 NFS 서버의 파일 시스템을 이용. 부팅시 마운트하여 사용시 /etc/fstab 파일에 등록

mount 및 mount.nfs 명령 이용하기

[사용 예]
$ mount -t nfs 192.168.5.13:/nfsdata /mnt
$ mount.nfs 192.168.5.13:/nfsdata /mnt

/etc/fstab 등록하기

[설정 예]
$ vi /etc/fstab
192.168.5.13:/nfsdata    /mnt    nfs    timeo-15,soft,retrans=3    0    0

관련명령어

rpcinfo

rpc 관련 정보를 출력

[사용법]
$ rpcinfo [option] 호스트명

옵션

  • -p : 등록된 rpc 프로그램 정보
  • -s : 관련 정보 간결하게 출력

exportfs

NFS 서버에 익스포트된 디렉터리 정보를 관리해 주는 명령

[사용법]
$ exportfs [option] 호스트명

옵션

  • -v : 설정된 내용을 자세히 출력
  • -r : /etc/exports에 설정된 내용을 다시 읽어 들임
  • -a : 한 번에 익스포트된 디렉터리를 호출할 때 사용
  • -u : 익스포트된 하나 이상의 디렉터리를 해제

showmount

NFS 서버의 마운트 관련 정보를 출력. NFS 클라이언트에서 NFS 서버에 익스포트된 정보를 확인할 때도 사용.

[사용법]
$ showmount [option] 호스트명

옵션

  • -a : '호스트명:디렉터리' 형태로 출력
  • -e [호스트명] : 익스포트된 리스트를 보여줌
  • -d : NFS 클라이언트에 의해 마운트된 디렉터리 목록 정보를 출력

nfsstat

NFS 관련 상태 정보를 출력. NFS 서버와 클라이언트에서 모두 사용 가능

[사용법]
$ nfsstat [option]

옵션

  • -c : NFS 클라이언트 관련 정보만 출력
  • -s : NFS 서버 관련 정보만 출력

FTP 서버 관리

FTP(File Transfer Protocol)의 개요

  • TCP/IP 프로토콜 기반으로 서버와 클라이언트 사이에 파일을 주고받기 위한 프로토콜
  • Wu-ftpd, Proftpd, vsftpd 등의 프로그램이 있음
  • Wu-ftpd는 현재 개발이 중단
  • Proftpd는 리눅스, 유닉스, 윈도우까지 지원. Wu-ftpd에 비해 기능이 많아지고 보안성이 강화. 현재 vsftpd와 함께 가장 많이 사용하는 ftp 서버.
  • vsftpd(Very Secure ftp daemon)는 간결하고 안전하며 처리 속도도 매우 빠름.

vsftpd 설정하기

vsftpd 관련 파일

  • /etc/vsftpd/vsftpd.conf : vsftpd의 환경 설정 파일
  • /etc/rc.d/init.d/vsftpd : 데몬 스크립트
  • /etc/pam.d/vsftpd : PAM 관련 설정 파일
  • /etc/vsftpd/ftpusers : PAM 관련 설정 파일에 사용되는 파일기본 설정이 접근 거부될 사용자 목록
  • /etc/vsftpd/user_list : 허가 또는 거부 목록 파일로 사용. 기본은 거부 목록 파일로 사용
  • /etc/logrotatd.d/vsftpd : vsftpd의 로그 로테이트 관련 파일
728x90
반응형
댓글
반응형
250x250
글 보관함
최근에 달린 댓글
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Total
Today
Yesterday
링크