리눅스마스터 1급 필기 기출문제 해설/보충설명 20140308


Cap 2016-08-11 21-35-16-090

FIFO (First-In First-Out) 페이지 교체기법
– 메모리 내에 가장 오래있었던 페이지를 교체
– 구현: FIFO 큐 이용
단점
– 오래 전에 적재되어 반복적으로 사용되는 페이지가 교체될 수 있음
– Belady의 이상현상 발생 : 프로세스에 더 많은 수의 페이지 프레임을 할당할 경우 오히려 페이지 부재가 더 많이 발생할 수 있는 현상

LRU 페이지 교체
– 가장 오랫동안 사용되지 않은 페이지를 교체
– 구현: 참조시간 이용 또는 리스트 이용
특징
– Belady의 이상현상 발생하지 않음
– 많은 경우 최적화 원칙에 근사한 선택을 함
– 국부성에 기반
– 시간 국부성: 현재 참조된 기억장소는 가까운 미래에도 계속 참조될 가능성이 높음
– 공간 국부성: 하나의 기억장소가 참조되면 근처의 기억장소가 계속 참조되는 현상
단점
– 경험적 판단이 맞지 않는 상황도 존재
– 막대한 오버헤드

LFU 페이지 교체
– 참조된 횟수가 가장 적은 페이지를 교체
– 구현: 참조횟수 이용
단점
– 가장 최근에 메모리로 옮겨진 페이지가 교체될 가능성 높음
– 초기에 매우 많이 사용된 후 더 이상 사용되지 않는 페이지는 교체가능성 낮음
– 막대한 오버헤드

NUR 페이지 교체
– 참조 여부와 수정 여부에 따른 우선순위에 따라 페이지를 교체
– 구현: 페이지마다 참조비트 r 과 수정비트 m 이용
특징
– 적은 오버헤드로 적절한 성능을 낼 수 있음
– LRU와 유사하면서도 실제로 자주 쓰임
– 동일 그룹 내에서는 선택은 무작위
– 모둔 참조 비트 r을 주기적으로 0으로 변경

Cap 2016-08-11 21-41-58-038리눅스 기반 모바일 운영체제
바다(Bada), 마에모(Maemo), 모블린(Moblin), 미고(MeeGo), 리모(LiMo), 타이젠(Tizen)

Cap 2016-08-11 21-47-37-483
Cap 2016-08-11 21-49-19-9422.6.32
2 : 커널의 주버전
6 : 커널의 부버전
32 : 커널의 패치레벨

Cap 2016-08-12 05-49-50-706
Cap 2016-08-12 05-50-49-441SCSI (Small Computer System Interface) 는 컴퓨터에 주변기기를 연결할 때 직렬 방식으로 연결하기 위한 표준을 말한다.
SCSI는 다양한 인터페이스로 사용할 수 있다. 가장 흔히 쓰이는 첫 번째 것이 병렬 SCSI (SPI)이며 병렬 버스 디자인을 사용한다.

Cap 2016-08-12 05-54-11-361/proc : 가상 파일 시스템으로 시스템에서 운영되고 있는 다양한 프로세스의 상태 정보, 하드웨어 정보, 기타 시스템 정보 등을 담고 있다.

Cap 2016-08-12 06-06-40-349shutdown -r now : 시스템을 즉시 재부팅
shutdown -h now : 시스템을 즉시 종료
shutdown -h +10 : 시스템을 10분뒤 종료
shutdown -h 23:50 : 시스템을 오후 11시 50분에 종료
shutdown -c : 예약된 셧다운 명령을 취소

reboot – 시스템을 재시작하는 명령어

Cap 2016-08-12 06-10-14-751

데몬(daemon)
시스템에 관련된 작업을 하는 후위 프로세스(background process)를 말한다. 대부분의 데몬은 시스템에 관련된 작업을 하게 되는데, 서비스 요청이 없을 때는 후위 프로세스로서 유휴(idle) 상태에 들어가 있게 되어 시스템의 CPU를 차지하지 않지만 메모리와 기타 자원을 상당수 차지하게 된다. 그렇기에 많은 데몬을 띄울려면 그 만큼 시스템에 자원을 많이 가지고 있어야 한다.

인터넷 슈퍼 데몬(Internet Super Daemon)
xinetd는 Internet Super Daemon을 의미하는 것으로서, SENDMAIL, HTTPD 등과 같이 리눅스 시스템에서 실행되는 데몬의 일종이다. 이 슈퍼 데몬은 리눅스 서버에서 서비스되는 다른 여러가지 데몬들 을 제어하면서 각각의 서비스들의 연결을 담당하고 있다. 슈퍼데몬에 의해 제어가 되는 데몬에는 telnet 이외에 ftp, finger, login, shell 등이 있다.

데몬의 실행모드 Standalone, xinetd
Standalone
독립적으로 실행되며 항상 메모리에 상주하여 서비스 요청이 있을 때 언제든 바로 응답을 한다. 즉, 빠른 응답속드를 요하는 경우에 이 모드를 이용한다. 항상 상주해 있으므로 메모리 점유로 인한 서버 부하를 주는 단점이 있다. 슈퍼 데몬도 standalone모드로 실행이 된다.

xinetd
xinetd모드로 실행이 되는 데몬은 슈퍼 데몬에 의해 관리가 되며, 필요한 경우에만 메모리로 적재되어 실행이 되어 응답을 한다. 응답속도가 standalone 보다 느리고 서버부하를 상대적으로 줄일 수 있다.

rsync : 네트워크로 연결된 원격지의 파일들을 동기화하는 유틸리티.

pop3 : 메일관련 프로토콜. 서버에 도착한 메일을 클라이언트에서 직접 내려받아 읽도록 해주는 프로토콜로 110번 포트를 사용.

ssh : 원격 시스템에 로그인하여 명령을 실하하는 프로그램. 기본적인 사용법은 telnet 과 유사.
telnet 은 클라이언트와 서버간의 데이터 전송시에 일반 텍스트 형태로 패킷을 전달하여 내용을 유출당할 수 있지만 ssh는 패킷 전송시 암호화를 하여 안전하게 전송할 수 있다.

Cap 2016-08-12 06-16-03-363
X configurator : 콘솔에서 실행되는 X설정용 프로그램으로 설치중에 X윈도우에 대한 설정을 하는 부분이 이 프로그램에 의해 실행되는 부분이다. 사용자가 설정을 바꾸기 위해서 Xconfigurator 라고 콘솔에서 입력하면 실행되며 화면 설정을 가장 쉽게 할 수 있는 방법이다.

Cap 2016-08-12 06-18-16-746echo : 문자열을 화면에 출력

tail -n 1 : 마지막부터 그위로 1번째 줄까지 출력. 즉 마지막 줄만 출력

Cap 2016-08-12 06-29-18-043/proc/partition : 현재 시스템의 파티션 정보

Cap 2016-08-12 06-31-31-182Shell 이란?
Shell 은 커널과 사용자간의 다리역할을 하는 것으로 사용자로부터 명령을 받아 그것을 해석하고 프로그램을 실행하는 역할을 한다.
Shell 의 확인은 명령 프롬프트 상에서 ‘echo $SHELL’ 이라고 샐행하면 확인 가능
Shell 의 변경은 chsh 명령을 사용하여 변경
사용자의 로그인 Shell 정보는 /etc/passwd 의 7번째 필드에 기록

Cap 2016-08-12 06-32-28-715/etc/inittab
부팅과 관련된 런레벨이 정의되어 있다.
run level을 재부팅 후에도 적용하기 위해 변경해야 하는 파일

Cap 2016-08-12 06-33-58-022

Cap 2016-08-12 06-36-41-310
Cap 2016-08-12 06-37-27-713
netstat
네트워크 연결상태를 출력하는 명령어. 네트워크 연결상태 이외에도 라우팅 테이블 정보, 인터페이스 상태, 매스커레이드(masquerad ) 연결상태, 멀티캐스트 멤버등의 정보를 출력란다.
-a : 모든 소켓정보를 출력
-r : 라우팅 테이블 명령을 출력
-c : 네트워크 정보를 계속적으로 출력

Cap 2016-08-12 06-48-11-161dig : 도메인명으로 정보를 조회하는 명령이다.
/etc/resolv.conf : 사용할 DNS 서버 주소를 설정하는 파일이다.

Cap 2016-08-12 06-48-44-116Duplex : 시스템 상호간 통신시 송신과 수신이 어떤형식으로 이루어지는 지에 대한 mode 를 의미한다.

Cap 2016-08-12 06-57-34-68512개의 호스트를 사용하려면 4개의 비트가 필요하다.
8개의 비트중 마지막 4개의 비트를 0 나머지를 1로 만들어서 10진수로 변환한다.
11110000 = 240

Cap 2016-08-12 07-05-01-527Shell 은 bash

Cap 2016-08-12 07-06-10-904-g 옵션은 기본 그룹
-G 옵션은 해당 사용자가 속하게될 그룹 목록. 기본 그룹 외에 다른 그룹에도 소속되도록 하려면 -G 옵션과 함께 그룹목록을 지정해 주면 된다.

Cap 2016-08-12 07-07-46-364
Cap 2016-08-12 07-11-37-617-s : 사용자의 Shell 을 변경한다.

Cap 2016-08-12 07-14-12-765su (substitute user) : 대리 유저라는 뜻의 약어로 시스템에 로그인 되어 있는 상태에서 다른 사용자의 권한으로 shell을 실행할 수 있도록 전환하는 명령이다.

사용자 패스워드 관리
1. passwd
passwd 은 패스워드의 부여, 변경은 물론 계정을 사용하지 못하게 하거나 패스워드 만기일 및 유효기간 등을 설정할 수 있다.
2. chage
chage는 사용자의 패스워드에 대한 정보를 출력하고 설정하는 명령이다.

 Cap 2016-08-12 07-30-46-861리눅스 파일구조
ls -l
{파일유형} : {파일권한} : {링크수} : {소유 계정} : {그룹명} : {파일크기} : {마지막 변경 일자} : {파일명}

Cap 2016-08-12 07-42-00-100

/etc/fstab
이 파일은 파일 시스템에 대한 다양한 정보를 담고 있는 파일로 부팅 시에 마운트할 파티션 정보가 기록되어 있는 파일이다.
파티션 정보를 변경하거나 디스크를 추가한 경우 이파일에 등록해야만 부팅 시에 자동으로 마운트할 수 있다.

fstab 의 필드 구성
첫 번째 – 장치명이 기록되는 영역이었으나 최근 배포판 리눅스에서는 볼륨 라벨(Volume Lable) 이나 UUID 가 대신 사용되고 있다.

두 번째 – 마운트될 디렉터리(Mount point) 를 나타낸다.

세 번째 – 파일 시스템 유형을 나타낸다.

네 번째 – 마운트될 때의 옵션을 나타낸다.

다섯 번째 – dump 명령을 통한 백업 시 레벨 덤프 사용 주기를 결정하는 부분으로 0 이면 dump 를 사용하지 않고 1 이면 매일 수행, 2 이면 이틀에 한번 수행한다.

여섯 번째 – 부팅 시 파일 시스템을 점검하는 fsck 명령의 순서를 정한다.

<file system> <mount point> <type> <options> <dump> <pass>

Cap 2016-08-12 07-42-37-379파티션작업(fdisk) – 파일시스템(mkfs) – 마운트 포인터 생성(mkdir) – 마운트작업(mount)

Cap 2016-08-12 07-44-32-682
Swap : 하드디스크의 일부를 마치 메모리처럼 사용하게 해주는 스왑은 일반적으로 리눅스 설치시에 설정한다. 그러나 스왑 영역이 부족한 경우 설치 후에도 추가 설정할 수 있다.
mkswap : 스왑 파티션이나 스왑 파일을 생성하는 명령어
swapon : 스왑 파티션이나 스왑 파일을 활성화 시키는 명령으로 스왑의 상태 확인도 가능
swapoff : 스왑 파니션이나 스왑 파일을 중지
free : 현재 사용중인 메모리의 상태를 출력해 주는 명령어

Cap 2016-08-12 07-52-28-258fdisk
디스크 파티션을 확인하고 추가/삭제하는 명령으로 설정 후에는 반드시 재부팅을 해야한다.
d : 파티션을 삭제한다.
t : 파티션의 시스템 id 를 변경한다.
w : 변경된 파티션의 정보를 저장하고 종료
q : 변경된 파티션의 정보를 저장하지 않고 종료

Cap 2016-08-12 07-56-26-373리눅스의 런레벨
실행 레벨이란 init 데몬에 의해 수행되어질 내용이나 시스템 초기화 등을 정의해둔 여러가지 모드를 말한다.
리눅스는 총 8개의 레벨로 정의가 되어있다.
0 – 시스템의 종료할때 호출되는 레벨이다.(기본값으로 설정해서는 안됨)
1 – 단일 사용자모드(Single User Mode)로 로그인 과정 없이 root 사용자로 리눅스 시스템을 부팅하여 일종의 관리자 모드 같은 역할을 한다.
2 – 네트워크를 사용하지 않는 다중 사용자 모드
3 – 네트워크를 지원하는 다중 사용자 모드(Multiuser Mode) 
4 – 사용되지 않는 레벨이지만, 사용자가 정의하여 사용할 수 있다.
5 – X윈도를 사용하는 다중 사용자 모드로 최근 배포판에서 기본적으로 설정되는 레벨이다.
6 – 시스템을 재부팅할 때 호출되는 레벨이다.(기본값으로 설정해서는 안됨)

Cap 2016-08-12 07-59-01-427jobs : 프로세스 상태 확인
fg : 포어그라운드 프로세스로 전환
bg : 백그라운드 프로세스로 전환

Cap 2016-08-12 08-03-13-131
Cap 2016-08-12 08-04-00-521nohup : 사용자가 로그아웃하거나 작업중인 터미널 창이 닫혀도 실행중인 프로세스를 백그라운드 프로세스로 작업될 수 있도록 해 주는 명령이다.

Cap 2016-08-12 08-07-33-152crontab
사용자가 주기적인 작업을 등록하기 위해 사용하는 명령으로 실행하면 vi 편접기가 실행된다.
/etc/cron.allow 파일과 /etc/cron.deny 파일로 cron 사용자를 제한할 수 있다.

Cap 2016-08-12 08-09-45-543rpm [option] [패키지_파일명]
-i : 새로운 패키지를 설치할 때 사용

Cap 2016-08-12 08-15-23-837rpm –nodeps -e 
패키지를 제거한다. 의존성이 있는 패키지가 존재할 경우에도 제거한다.

rpm -e
패키지를 제거한다. 의존성이 있는 패키지가 존재할 경우레는 제거 되지 않는다.

Cap 2016-08-12 08-19-16-008

Cap 2016-08-12 08-22-06-551

Cap 2016-08-12 08-23-13-480# tar -jcvf home.tar.bz2 /home
/home 디텍토리 내용을 묶어서 bzip2로 압축

# tar -jxvf home.tar.bz2 /home
/home.tar.bz2 파일의 묶기 및 압축 해제

Cap 2016-08-12 08-25-57-607make menuconfig : 텍스트 기반의 컬러 메뉴를 제공하고 커서를 이용해서 이동이 가능하다.

Cap 2016-08-12 08-29-42-282modules.dep : 모듈 의존성 파일. 모듈 간의 의존성을 기록한 파일

depmod : modules.dep 파일을 갱신하고 관리하는 명령어.

lsmod : 리눅스 커널에 적재된 모듈 정보를 출력하는 명령.
insmod : 커널에 모듈을 적재하는 명령으로 해당 모듈이 자동으로 검색되고 삽입된다.
rmmod : 커널에서 모듈을 제거하는 명령으로 다른 모듈에 의해 사용 중인 모듈은 제거할 수 없다.
modprobe : 리눅스 커널에 모듈을 적제하거나 제거하는 명령이다. insmod 나 rmmod 명령은 다른 모듈에 의존되어 있는 경우에는 사용 불가하나 modprobe 는 단일 모듈, 의존성이 있는 모듈, 특정 디렉터리의 모든 모듈들을 적재할 수 있다. 이 명령어는 최상위 모듈 디렉터리에 존재하는 modules.dep 파일을 참고해 모듈간의 의존성을 해결한다. 

Cap 2016-08-12 08-35-52-552
Cap 2016-08-12 08-36-49-545lpr : 프린터 작업을 요청하는 명령
lpq : 프린터 큐(Queue) 에 있는 작업의 목록을 출력는 명령
lprm : 프린터 큐에 대기중인 작업을 삭제하는 명령
lpc : 라인 프린터 컨트롤 프로그램 으로 프린터나 프린터 큐를 제어할 때 사용.

Cap 2016-08-12 08-39-17-704/etc/fstab
이 파일은 파일 시스템에 대한 다양한 정보를 담고 있는 파일로 부팅 시에 마운트할 파티션 정보가 기록되어 있는 파일이다. 파티션 정보를 변경하거나 디스크를 추가한 경우 이파일에 등록해야만 부팅 시에 자동으로 마운트할 수 있다.

Cap 2016-08-12 08-42-17-097uname : 시스템 정보를 출력

모듈은 /lib/moudles/커널버전 디렉터리에 위치한다. 커널버전은 uname -r 의 실행결과로 나오는 문자열이 된다.
uname  -a : 다른 옵션들을 포함 모든 정보를 출력

Cap 2016-08-12 08-46-42-274modprobe 옵션
-r : 모듈을 제거할 때 사용하는 옵션으로 의존성이 있는 모듈들을 찾아서 사용되지 않는다면 자동으로 제거한다.

Cap 2016-08-12 08-59-51-494CUPS(영어: Common Unix Printing System) : 컴퓨터를 인쇄 서버로 기능하도록 해주는 유닉스 계열 운영 체제를 위한 모듈 방식의 프린팅 시스템

SANE (Scanner Access Now Easy)

ALAS( Advanced Linux Sound Architercture ) : 고급 리눅스 사운드 아키텍쳐
ALSA 는 사운드 카드용 장치 드라이버를 제공하기 위한 리눅스 커널의 요소이다.

OSS(Open Sound System, 오픈 사운드 시스템) : 유닉스 및 유닉스 계열 운영 체제의 사운드를 만들고 캡처하는 인터페이스

Cap 2016-08-12 09-02-00-656mke2fs : ext2 파일시스템으로 만드는 명령

mke2fs -j : ext3 파일시스템인 저널링 파일시스템으로 만든다.

Cap 2016-08-12 09-04-13-800

tune2fs : 리눅스 파일시스템의 변경가능한 파라미터값을 설정하는 명령어
-l 옵션으로 해당 파일시스템의 설정값들을 확인할 수 있음.

fsck.ext3 : 파일시스템의 이상유무를 점검하고 수리하는 명령

Cap 2016-08-12 09-05-32-417로그 관련 주요 파일
/var/log/messages : 시스템에서 발생하는 표준 메시지가 기록되는 파일
/var/log/secure : 인증에 기반한 접속과 관련된 로그가 기록되는 파일
/var/log/dmesg : 시스템이 부팅할 때 출력되었던 로그가 기록되는데 보통 커널 부트 메시지  로그 라고 한다.
/var/log/mailog : 메일 관련 작업이 기록되는 로그 파일
/var/log/xferlog : FTP 접속과 관련된 작업이 기록되는 파일
/var/log/cron : cron 관련 정보가 기록되는 파일
/var/log/boot.log : 부팅시 발생되는 메시지가 기록되는 파일
/var/log/lastlog : telnet 이나 ssh 를 이용해서 접속한 각 사용자의 마지막 정보가 기록되는 파일
/var/log/wtmp : 콘솔, 텔넷, ftp 등을 이용하여 접홋한 사용자의 기록, 시스템 재부팅 기록등의 로그가 기록되는 파일
/var/log/btmp : wtmp 와 반대되는 로그로 접속이 실패한 경우를 기록한다.

Cap 2016-08-12 09-13-21-821

Cap 2016-08-12 09-31-41-425

logrotate : 로그 파일(시스템 로그)을 rotates, compresses, and mails 을 할 수 있다. 설정 파일을 변경해도 관련 프로세스를 새로 시작할 필요 없이 cron 데몬이 주기적으로 실행 시켜준다.

Cap 2016-08-12 09-32-20-302

Cap 2016-08-12 09-33-01-267SSH(Secure Shell) 
원격 시스템에 로그인하여 명령을 실하하는 프로그램. 기본적인 사용법은 telnet 과 유사. telnet 은 클라이언트와 서버간의 데이터 전송시에 일반 텍스트 형태로 패킷을 전달하여 내용을 유출당할 수 있지만 ssh는 패킷 전송시 암호화를 하여 안전하게 전송할 수 있다.

Cap 2016-08-12 09-37-22-372 기본사용법
cops [-vx] [-c config file] [-s secure_dir] [architecture]

Cap 2016-08-12 09-40-37-352requisite : 이 모듈을 이용하는 인증이 실패할 경우 즉시 거부한다.
required : 인증이 거부되기 전에 비록 PAM이 이 서비스에 등록된 다른 모든 모듈들을 요구함에도 불구하고 실패할 경우에 인증을 거부한다.
sufficient : 비록 이전에 요청되어진 모듈이 실패하더라도 이 모듈에 의해서 인증이 성공할 경우에 인증을 승인한다.
optional : 서비스에 대한 응용 프로그램의 성공/실패가 중요하지 않다는 것을 의미하는 것으로 성공/실패 판단시에는 무시된다. 그라나 모듈에 대한 성공/실패가 없다면 이 모듈이 응용 프로그램에게 주는 결과로 결정한다.

Cap 2016-08-12 09-46-05-485

Cap 2016-08-12 09-46-50-281dump 및 restore
파일들이 아닌 파일 시스템 전체를 백업할 때 사룡하는 유틸리티로 보통 파티션 단위로 백업할때 많이 사용한다. 
전체 백업과 증분 백업을 지원하고 0~9 단계의 레벨을 가지고 증분 백업을 지원한다. 
레벨 0이 전체 백업이고 나머지 레벨들은 부분 백업 시에 사용한다.
백업할 때 /etc/fstab/ 파일을 참조하며 데이터 복원을 restroe 명령을 사용한다.

Cap 2016-08-12 09-47-38-205dd(data dumper)
파니션이나 디스크 단위로 백업할 때 사용하는 유틸리티로 사용하기는 쉬우나 많은 시간이 소요된다.
# dd if=/dev/sda1 of=/dev/sdb1 bs=1k
블록 사이즈 1KB 단위로 하여 /dev/sda1 을 /dev/sdb1 으로 백업한다.

Cap 2016-08-12 09-56-41-606웹 관련 표준은 W3C

Cap 2016-08-12 09-58-30-145

HEAD
GET과 같은 요청이지만, 자료에 대한 정보(meta-information)만을 받는다.

GET
URL에 해당하는 자료의 전송을 요청한다.

POST
서버가 처리할 수 있는 자료를 보낸다.

PUT
해당 URL에 자료를 저장한다.

DELETE
해당 URL의 자료를 삭제한다.

TRACE
이전에 요청한 내용을 들을 것을 요청한다.

OPTIONS
서버가 특정 URL에 대해 어떠한 HTTP Method를 지원하는지 묻는다.

CONNECT
프록시가 사용하는 요청.

Cap 2016-08-12 10-02-21-204

HTTP 상태코드

200 OK
클라이언트 요청에 성공적으로 접속

400 Bad Request

403 Forbidden

404 Not Found

500 server error

Cap 2016-08-12 10-03-01-762

Cap 2016-08-12 10-04-26-962

Cap 2016-08-12 10-05-35-1751980년 중반 Sun Microsystems사에서는 두가지 프로토콜을 개발하였는데, 하나는 NFS 이고 다른하나가 NIS 이다.

NIS
하나의 서버에 등록된 사용자 계정, 암호, 그룹정보 등을 공유하여 다른 시스템에 제공하는 서비스를 말한다.
NIS는  RPC(Remote Procedure Call) 을 사용하기 때문에 관련 호출을 처리해 주는 데몬을 반드시 구동시켜야 한다.

Cap 2016-08-12 10-21-04-121

Cap 2016-08-12 10-21-30-067/var/yp
NIS 서버에서 관련 맵파일이 생성되는 디렉터리
NIS 서버에서 각종 정보를 담고 있는 데이터베이스 맵 파일이 위치하는 디렉터리
정보 갱신을 위한 make 작업을 수행하면 /var/yp 디렉터리에 지정한 nis 서버 이름으로 된 디렉터리가 생성된다.
그 디렉터리 안에 관련 정보를 가지고 있는 맵 파일들이 생성되는데, 서버에서 사용자들이 새롭게 추가되면 해당 맵 파일들도 지속적으로 갱신시켜줘야한다.

Cap 2016-08-12 10-22-36-913NIS 서버 관련 데몬 – ypserv, yppasswdd, ypxfrd

NIS 클라이언트를 사용하기 위해서는 ypbind 와 yp-tools 라는 패키지가 설치되어 있어야 한다.

Cap 2016-08-12 10-32-59-326LDAP
경량 디텍터리 접근 규약. 디렉터리 데이터베이스에 접속하기 위한 통신 규약.
o : 조직 이름
ou : 조직의 부서 이름
cn : 일반적으로 이름과 성의 조합
sn : 성을 나타냄

Cap 2016-08-12 10-38-30-823삼바(SAMBA) 서버관리
삼바는 SMB를 이용하여 리눅스를 비롯한 유닉스 계열 운영체제와 윈도우 운영체제간의 자료 및 하드웨어를 공유할 수 있도록 해준다.
현재 SMB 프로토콜은 유닉스와 윈도 환경을 동시에 지원하는 CIFS 로 확장 되었다.
TCP/IP를 사용하며 NetBIOS 프로토콜을 지원, LanManager 기능도 제공한다.

Cap 2016-08-12 10-40-15-010

security : 보안관련 옵션으로 클라이언트가 삼바서버에 접속할 때 인증 레벨을 부여하는 옵션

4가지 옵션 : user, share, server, domain

user : 삼바 서버에 접속하는 클라이언트는 먼저 반드시 윈도우 시작시 사용자명과 패스워드로 로그인을 한 후에 삼바 서버에 접속할 때 같은 사용자명으로 패스워드를 확인한 후에 접속이 이루어진다.

share : 유효한 사용자명과 패스워드로 삼바 서버에 로그인을 하지 않아도 서버에 접속할 수있게 하므로, 삼바 서버 인증과정을 필요로 하지 않을 때 이 레벨로 지정하면 된다. 공유 디렉토리 접근에 제한을 두는 경우에 사용할 수 있다.

server : 윈도우 NT와 같은 다른 삼바 서버가 존재해야 하며, 다른 삼바 서버에 사용자명과 패스 워드를 전달하여 올바른지를 확인한다.

domain : 윈도우 NT서버가 있어야 가능하며, 삼바서버가 사용자명과 패스워드를 윈도우NT의 도메인 컨트롤러(Domain Controller)에 전달하여 유효한지 확인하는 방법이다.

Cap 2016-08-12 10-45-39-971/etc/exports : NFS 서버 환경 설정 파일
root_squash : NFS 클라이언트에서 접근하는 root 사용자를 무시하고 서버상의 nobody( 또는 nfsnobody) 로 매핑시키는 옵션으로 기본값이다.
no_root_squash : NFS 클라이언트에서 접근하는 root 사용자를 무시하지 않고 root 로 인정한다.
all_squash : root 를 포함하여 모든 사용자의 권한을 nobody( 또는 nfsnobody) 로 매핑시킨다.

Cap 2016-08-12 10-50-53-396exportfs
NFS 서버에 익스포트(export) 된 디렉터리 정보를 관리해 주는 명령이다.

showmount
NFS 서버의 마운트 관련 정보를 출력하는 명령이다.
-a : ‘호스트명: 디넥터리’ 형태로 출력
-e [호스트명] : 익스포트된 리스트를 출력

Cap 2016-08-12 10-55-18-802anonymous_enable=YES : 익명 계정 허용
anonymous_enable=NO : 익명계정 허용불가

Cap 2016-08-12 10-59-58-519SMTP(Simple Mail Transfer Protocol) : 인터넷에서 이메일을 보낸 때 사용되는 프로토콜로 25번 포트를 사용
POP3(Post Office Protocol Version 3) : 서버에 도착한 메일을 클라이언트에서 직접 내려 받아 읽도록 해주는 프로토콜로 110번 포트를 사용 
IMAP(Internet Mail Access Protocol) : POP3 와 마찬가리로 클라이언트 사용자가 메일 서버에 도착한 메일을 확인할 때 사용하는 프로토콜로 143번 포트를 사용

Cap 2016-08-12 11-04-58-704

/etc/mail/local-host-names
메일 서버에 사용하는 도메인을 설정하는 파일로 한줄에 도메인 하나씩 기입하면 된다.

/etc/mail/access
메일 서버로 접근하는 호스트나 도메인의 접근을 제어하는 파일

/etc/aliases
특정 계정으로 들어오는 메일을 다른 계정으로 전송되도록 설정하는 파일이다.

/etc/mail/virtusertable
하나의 메일 서버에 여러 도메인을 사용하는 환경에서 동일한 메일 계정을 요구할 때 각각의 도메인으로 도착하는 메일을 포워딩할 때 사용하는 파일이다.

~/.forward
각 사용자 개인이 자신에게 들어오는 메일을 다른 메일 주소로 포워딩할 때 사용하는 파일이다.

Cap 2016-08-12 11-09-53-771/etc/aliases
특정 계정으로 들어오느느 메일을 다른 계정으로 전송되도록 설정하는 파일이다.
센드메일이 참고하는 파일은 /etc/aliases.db 이므로 변경 시에는 newaliases 나 sendmail – bi 명령을 실행시켜야 적용된다.

Cap 2016-08-12 11-12-43-544/etc/mail/virtusertable
하나의 메일 서버에 여러 도메인을 사용하는 환경에서 동일한 메일 계정을 요구할 때 각각의 도메인으로 도착하는 메일을 포워딩할 때 사용하는 파일이다.

Cap 2016-08-12 11-15-13-906/etc/mail/sendmail.mc
sendmail의 매크로 설정 파일로 sendmail.cf 파일이 삭제되었거나 복원할 경우에 m4 라는 매크로 프로세서를 이용하여 새롭게 생성할 수 있다.

Cap 2016-08-12 11-17-03-098 /etc/resolv.conf : 네임서버 설정과 기본적으로 사용할 도메인명을 설정한다. 

Cap 2016-08-12 11-21-32-701A : IPv4의 주소를 기입할 때 사용
MX : 메일 서버를 지정할 때 사용한다. MX 다음에 0 또는 양의 정수값을 기입해서 우선순위를 지정해야 한다.

Cap 2016-08-12 11-32-12-421PTR : 리버스 존에서만 사용하는 레코드로 IP 주소를 도메인으로 변환하기 위해 지정한다.

Cap 2016-08-12 11-34-38-908DNS 서버 options 구문
allow-transfer : zone 파일의 내용을 복사할 대상에 제한을 걸때 지정한다.
allow-query : 네임서버에 질의 할 수 있는 호스트를 지정한다.
forward : forwarders 옵션과 함께 사용되며 only 마 first 두 값중 하나를 갖는다.
forwarders : 도메인에 대한 질의를 다른 서버로 넘길때 사용하는 옵션으로 복수 형태로 지정 가능하고 구분은 세미콜론(;)으로 한다.

Cap 2016-08-12 11-47-30-118named-checkconf : DNS서버의 환경 설정 파일인 /etc/named.conf  파일의 문법적 오류를 찾아주는 명령이다.
named-checkzone : zone 파일의 문법적 오류를 찾아주는 명령이다.
rndc : 네임서버 컨트롤 유틸리티

wget : 웹상에 존재하는 파일은 바로 다운로드 받는 명령어

Cap 2016-08-12 11-54-30-640전가상화 : 가상화 소프트웨어가 수정하지 않은 게스트 운영체제를 100% 완전 가상화 환경 위에서 제공하는 기술로 범용적인 x86 가상화 하드웨어(CPU, 메모리, 디스크, IO장치)를 VMM위에 구성한다.

반가상화 : 반가상화는 전가상화에 비해 기존 시스템에 가까운 성능을 나타내기 위해 지원하지만, 게스트 운영체제의 커널 일부분을 수정해야 한다는 단점이 있다.

운영체제 레벨 가상화 : 운영체제 레벨 가상화는 하나의 CPU에 하나의 운영체제만, 수행되고, 가상화 계층이 호스트 운영체제 윗부분에 존재하여 가상화 환경을 제공하는 방법을 말한다.

Cap 2016-08-12 12-04-37-921젠(Xen)
다양한 CPU를 지원하는 하이퍼바이저 기반의 가상화 기술이다.
커널이 수정된 게스트 운영체제를 통해 물리적 서버 대비하여 최대 98%의 성능을 나타내는 CPU반가상화를 비롯하여 수정되지 않은 윈도우 및 기타 운영체제를 그대로 게스트 시스템에 실행할 수 있도록 전가상화 도 자원한다.
QEMU 기반으로 동작한다.

QEMU : 운영체제 레벨 가상화의 하드웨어 에뮬레이터 방식의 대표적인 제품이다.

Cap 2016-08-12 12-15-53-444virt-manager : 가상 장치 관리자 실행 

Cap 2016-08-12 12-19-15-408libvirtd – 가상화 API 역할을 수행하는 libvirtd 데몬을 실행해야 한다.
# service libvirtd start

Xen 서비스 구축
CPU 지원확인 > 젠(Xen) 및 libvirt 관련 패키지 설치 > 가상 장치 관리자 설치 > 젠 커널로 재부팅 > libvirtd 데몬 실행 > 가장 장치 관리자 실행 > 가상머신 생성 및 게스트 운영체제 설치

Cap 2016-08-12 12-25-33-188virsh : 가상 머신을 관리해 주는 도구로서 생성, 상태정보 출력, 일시정지, 종료 등의 기능을 제공한다.

Cap 2016-08-12 12-27-22-358xinetd
xinetd 데몬에 의해 실행
xinetd 를 거쳐서 해당 서비스를 실행하기 때문에 standalone 보다 느림
tcp_wrapper 에 의해서 접근제어됨
효율적인 자원 사용

standalone
항상 메모리에 독립적으로 데몬이 상주
빠른 응답 속도
자원낭비

Cap 2016-08-12 12-36-39-501

cps : 초당 요청받은 수에 대한 제한을 설정하는 항목

cps = 50 10
초당 요청수가 50개 이상일 경우 10초동안 접속 연결을 중단한다. 

Cap 2016-08-12 12-38-17-449http_port 3128 : squid 프록시 서버의 포트 번호를 지정하는 항목으로 기본 포트값은 3128번이다.

Cap 2016-08-12 12-42-58-383DHCP(Dynamic Host Configuration Protocol) 
클라이언트에게 자동으로 IP주소, Gateway 주소, Name Server 주소 등을 할당해주는 서버를 말한다.
option routers – 게이트웨이 주소를 지정할 때 사용한다.

Cap 2016-08-12 12-48-25-743NTP(Network Time Protocol)
NTP는 컴퓨터간의 시간을 동기화 하는데 사용되는 프로토롤이다.
NTP는 여러 계층(stratum) 으로 구성된다. 최상위 계층에 해당하는 Stratum 0 는 세슘 원자시계, GPS 시계등과 같은 장치이다. Stratum 1 부터 Stratum 15 까지 15단계로 나누고 Stratum 16 은 비동기 장치를 나타낸다. 

Cap 2016-08-12 12-52-30-598

Cap 2016-08-12 12-53-03-062
Cap 2016-08-12 12-53-37-102IPsec(Internet Protocol Security) – 통신 세션의 각 IP패킷을 암호화하고 인증하는 안전한 인터넷 프로토콜(IP) 통신을 위한 프로토콜 스위트이다. 

인증 헤더(AH)
보안 페이로드 캡슐화 (ESP)
보안 연관 (SA)

Cap 2016-08-12 12-54-10-742스니핑(패킷 가로채기)은 네트워크 통신 내용을 도청하는 행위이다.

SSL(Secure Socket Layer)은 넷스케이프사에서 전자상거래 등의 보안을 위해 개발하였다. 이후 TLS(Transport Layer Security)라는 이름으로 표준화되었다. 전송계층(Transport Layer)의 암호화 방식이다. 

PGP는 ‘Pretty Good Privacy’의 약자로서, 컴퓨터 파일을 암호화하고 복호화하는 프로그램이다.

Cap 2016-08-12 12-54-39-007
NAT 는 Network Address Translation 의 약자로 외부망과 내부망을 연결하는 다리역할을 한다.
DNAT 는 Destination NAT 의 약자로 박화벽에서 특정 공인 IP를 내부의 사설 IP로 포워딩하는 경우 이용되며  SNAT는 Source NAT 의 약자로 내부의 사설 IP를 이용하여 외부 인터넷으로 연결된 공인IP로 변환하고자 하는 경우 이용된다.

ex) iptables -t nat -A PREROUTING -i eth0 -j DNAT –to 192.168.0.2-254