리눅스마스터 1급 필기 기출문제 1302회
바로가기 >> 리눅스마스터 기출문제 목록
운영체제의 주요 역할
1. 컴퓨터 하드웨어를 제어
2. 작업의 순서를 정하며, 입출력 연산을 제어
3. 프로그램의 실행을 제어하며, 데이터와 파일의 저장을 관리
4. 사용자들 간의 하드웨어 자원을 공유할 수 있도록 한다.
5. 시스템 자원을 스케줄링하여 효율적으로 활용할 수 있게 한다.
6. 입출력을 쉽게 하는 기능을 제공한다.
7. 응용 프로그램의 작성과 실행을 편리하게 한다.
8. 오류의 발생을 막고 복구를 지원
9. 데이터의 조직화, 네트워크 통신 처리 기능을 수행한다.
10. 편리한 사용자 인터페이스를 제공한다.
다중 교환(Multi-switching) : 다수의 작업이 동시 실행되나 포그라운드 프로그램만 동작.
카피레프트(Copyleft) 는 저작권을 뜻하는 Copyright의 반대를 뜻하는 의미에서 사용하였다.
저작권법을 근간으로 하지만 저작권법이 갖고있는 주된 목적을 반대로 이용해서 소프트웨어를 개인의 소유로 사유화 시키는 대신 자유로운 상태로 유지시키는 수단으로 삼는 것이다.
리눅스 배포판
레드헷 리눅스, 데비안 리눅스, 수세 리눅스, 슬랙웨어, 우분투, 맨드레이크 리눅스, CentOS, 젠투 리눅스, 리눅스민트 등
Gnome : 그래픽 사용자 인터페이스로서 완전히 소스 공개 자유 소프트웨어
RAID-5
패리티 정보를 이용하여 하나의 디스크가 고장나도 사용이 가능한 구성방식으로 최소 3개의 디스크로 구성해야 한다.
디스크에 쓰기 제한 주소를 지정하므로 모든 읽기 및 쓰기가 중첩될 수 있다.
RAID-6
RAID-5와 비슷하지만, 다른 드라이브들 간에 분포되어 있는 2차 패리티 구성을 포함함으로써 매우 높은 고장대비 능력을 제공한다. 현재 RAID-6의 상용 모델은 거의 없다.
커널(kernel)
운영체제의 핵심 요소
응용 프로그램과 하드웨어 수준의 처리 사이의 가교 역할
컴퓨터의 각 장치들을 관리하고 제어하기 위한 가장 기본적인 소프트웨어.
/
최상위에 있는 디렉터리로 root 디렉터리라 한다.
/bin
일반적으로 bin은 binary의 약자로 실행 파일들이 들어있다.
우리가 흔히 말하는 명령어라는 것들이 들어있는 디렉터리로 보통 PATH가 설정되어 있다.
/boot
부팅 이미지 파일이나 커널 등 시스템 부팅시 필요한 파일이 들어있는 디렉터리.
/dev
하드디스크, CD-ROM, 터미널 등과 같이 실제로 존재하는 물리적인 장치 등을 파일화 하여 관리하는 디렉터리
/etc
시스템 환경 설정 파일 및 부팅과 관련된 여러가지 스크립트 파일들이 들어 있다.
/etc/mai/
sendmail.cf 나 access 파일등의 sendmail 의 설정파일들이 존재하는 디렉토리.
/etc/ssh/
SSH 서비스, 즉 sshd 데몬에서 사용하는 각종 설정파일들이 존재하는 디렉토리.
/etc/squid/
squid 프록시서버의 설정파일들이 저장된 디렉토리.
/etc/samba/
삼바관련 설정파일들이 저장된 디렉토리
/etc/skel/
계정사용자 생성시의 초기화파일들이 저장된 디렉토리(useradd 에서 사용함)
/etc/rc.d/
부팅레벨별 부팅스크립트파일들이 존재하는 디렉토리.
/etc/rc.d/init.d/
시스템 초기화 파일들의 실제파일들이 존재함.
/etc/pam.d/
PAM 설정 정보파일들이 저장된 디렉토리.
/etc/httpd/
RPM 으로 설치된 아파치 설정파일(httpd.conf 등)들이 저장된 디렉토리.
/etc/cron.d/, /etc/cron.daily/, /etc/cron.hourly/, /etc/cron.monthly/, /etc/cron.weekly/
모두 크론설정파일이 존재하는 디렉토리임.
/etc/xinetd.d/
xinetd 수퍼데몬에 의해 서비스되는 서비스설정파일이 존재함.
/home
개인 사용자들이 파일이나 디렉터리를 만들어서 사용할 수 있는 홈 디렉터리가 위치한다.
/lib
각종 라이브러리가 저장되어 있는 디렉터리로 커널 모듈도 이 디렉터리에 들어 있다.
/lost+found
fack 명령어를 이용하여 파일 시스템을 복구할 때 작업하는 디렉터리이다.
최상위 디렉토리인 / 디렉토리에만 존재하는 것이 아니라 파일시스템마다 존재할 수 있는 디렉터리
/mnt
마운트할 때 포인터가 되는 디렉터리이다.
/misc
자동 마운트 프로그램인 autofs에 의해 사용되는 디렉터리.
/opt
응용 프로그램들의 설치를 위해 사용되는 디렉터리.
/proc
가상 파일 시스템으로 시스템에서 운영되고 있는 다양한 프로세스의 상태 정보, 하드웨어 정보, 기타 시스템 정보 등을 담고 있다.
/root
시스템 관리자인 root 사용자의 홈 디렉터리.
/sbin
System binary의 약자로 주로 시스템 관리에 대한 명령어들이 들어있는 디렉터리로 보통 슈퍼유저인 root가 사용한다.
/tmp
임시 저장 디렉터리로서 각종 프로그램이나 소켓파일, 프로세스 작업을 할 때 임시파일을 저장하는 공간.
/usr
시스템이 아닌 일반사용자들이 주로 사용하는 디렉토리. 즉, c++, chsh, cpp, crontab, du, find등과 같이 일반사용자들용 명령어들은 /usr/bin 에 위치한다.
시스템 운영에 필요한 명령, 응용 프로그램들이 위치하는 디렉터리이다. 터널 소스, C언어 헤더파일, C-컴파일러와 같은 개발 도구, X-window, 리눅스에서 서버 관리를 위해 사용하는 아파치나 mysql, php 등이 모두 이 디렉터리의 하위 디텍터리에 설치된다.
/usr/bin/
일반 사용자들이 사용가능한 명령어 파일들이 존재하는 디렉토리.
/usr/X11R6/
X 윈도우 시스템의 루트 디렉토리.
/usr/include/
C 프로그램에 필요한 헤드파일(*.h) 디렉토리.
/usr/lib/
/lib 에 들어가지 않은 라이브러리 디렉토리.
/usr/sbin/
/bin 에 제외된 명령어와 네트워크관련 명령어가 들어있는 디렉토리.
/usr/src/
프로그램 소스(주로 커널소스)가 저장되는 디렉토리.
/usr/local/
MySQL, Apache, PHP 등과 같은 어플리케이션들을 소스로 컨파일설치할 때 사용되는 장소.
/usr/share/man/
명령어들의 도움말을 주는 메뉴얼(manual)페이지 디렉토리. 즉, 이 디렉토리에는 시스템에서 사용하는 모든 맨페이지파일(man page)이 존재함.
/var
시스템운용중에 생성되었다가 삭제되는 데이터를 일시적으로 저장하기 위한 디렉토리. 거의 모든 시스템로그파일은 /var/log 에 저장되고, DNS 의 zone 설정파일은 /var/named 에 저장되고, 메일파일은 /var/spool/mail 에 저장되며, 크론설정파일은 /var/spool/cron 디렉토리에 각각 저장됨.
/var/tmp/
/tmp 디렉토리와 같은 공용디렉토리. 즉, /tmp 디렉토리와 /var/tmp 디렉토리의 퍼미션은 1777 로서 sticky bit 가 설정되어 있는 공용디렉토리이다. 리눅스 시스템에서 공용디렉토리는 /tmp 와 /var/tmp 둘뿐이다.
/var/log/
시스템로그파일(messages, secure, xferlog 파일등)이 저장되는 디렉토리.
/var/ftp/
vsftp 등과 같은 FTP 서비스를 위한 다운로드될 파일들 즉, FTP 홈디렉토리.
/var/named/
BIND 즉, DNS 에서 사용하는 zone 파일들이 저장되는 디렉토리.
/var/spool/mail/
각 계정사용자들의 메일파일이 저장되는 디렉토리.
/var/spool/lpd/
프린트를 하기 위한 임시 디렉토리(스풀링 디렉토리).
/var/spool/mqueue/
발송을 위한 메일 일시저장 디렉토리.
/var/spool/cron/
각 사용자들의 cron 설정파일들이 저장된 디렉토리.
/var/spool/at/
atd 즉, 예약작업에 관한 파일들이 저장되는 디렉토리.
startx
X윈도를 실행시키는 스크립트로 시스템 환경을 초기화하고 시작하는데 필요한 여러 프로그램을 호출하고, 최종적으로 xinit을 호출하는 명령이다.
Xconfigurator : 하드웨어를 감지하여 필요한 X 소프트웨어를 설치하고 적절히 설정해주는 유틸리티
Shell의 종류
Bourne Shell, bash, C Shell, tcsh, ksh(Korn Shell)
프로세스
– 실행중인 프로그램
– PCB를 지닌 프로그램
– 프로그램 카운터를 지닌 프로그램
– 능동적 개체로 순차적으로 수행하는 프로그램
Clock Interrupt(클럭 인터럽트)는 컴퓨터 시스템에서 시간을 관리하기 위하여 내장하고 있는 시계로부터 주기적으로 발생하는 인터럽트를 말한다. 컴퓨터 시스템에서는 현재의 날짜와 시간을 관리하고 다중 프로그래밍 시스템의 운영체제에서는 하나의 프로세스에 의하여 시스템 자원이 독점되는 것을 예방한다.
7계층 – 응용계층
응용 계층은 응용 프로그램과 연계하여 사용자에게 편리한 환경을 제공하는 역할을 수행한다.
전자우편, 웹, 파일전송 등과 같은 응용 프로그램 환경에서 이루어진다.
ICMP : 메시지에 대한 오류보고와 이에 대한 피드백을 원래 호스트에 보고하는 역할을 수행한다.
ICMP 제어 메시지는 IP 패킷의 형태로 전달되고, ping 명령이 사용하는 프로토콜이다.
TCP : TCP는 IP에 의해 전달되는 패킷의 오류를 검사하고 재전송을 요구하는 등의 보다 정교한 제어를 담당한다.
IP 주소 : IP 주소는 인터넷에서 다른 컴퓨터와 서로 인식하고 통신하기 위해 사용되는 특수한 번호로 각 컴퓨터마다 고유한 값으로 제공된다. IP주소(IPv4) 는 32비트의 이진 숫자로 구성되어 있다.
/etc/sysconfig/network-scripts : 네트워크 인터페이스 환경 설정과 관련된 파일들이 저장 되는 디렉토리.
네트워크 관련 명령어
ifconfig : 네트워크 인터페이스를 설정하거나 확인하는 명령어
route : 라우팅 테이블의 정보를 출력하거나 관리하는 명령
netstat : 네트워크의 연결상태를 출력하는 명령
arp : 캐시를 관리하는 명령
ping : 인터넷 제어 메시지 프로토콜인 ICMP(Internet Control Message Protocol) 을 이용하여 네트워크 연결을 확인할 수 있는 명령이다. 원격의 호스트와 서로 연결 되어 있는지를 확인하고 패킷을 보내고 받는 시간을 출력하여 네트워크 장애 여부도 판단할 수 있다.
traceroute : 패킷이 특정 호스트까지 라우팅되는 과정을 출력하는 명령으로 라우팅 과정에 장애가 있을 경우 위치를 파악할 수 있다.
서브넷마스크
네트워크를 분할하여 새로운 하위의 네트워크를 구성할 때 사용한다.
32비트의 값으로 네트워크 ID와 호스트 ID를 IP 주소에서 구분하는 역할로 사용.
id : 시스템에 등록된 아이디에 대한 정보를 출력하는 명령으로 UID, GID, 속한 그룹 정보를 보여준다.
usermod
사용자 계정 관리.사용자의 Shell, 홈 디렉터리, 그룹, UID, GID 등을 변경하는 명령어로 사용자 관련하여 대부분의 정보를 변경할 수 있다.
-d : 사용자의 홈 디렉터리를 변경한다. 변경할 디렉터리는 미리 생성되어야 한다. -m과 같이 사용하면 사용하던 홈 디렉터리의 파일과 디렉터리도 같이 옮겨주므로 이경우에는 디렉터리를 생성하지 않아도 된다.
-m : 사용자의 홈디렉터리 변경시 기존에 사용하던 파일 및 디렉터리를 옮겨주는 옵션으로 -d 와 함께 쓰인다.
groupadd
새로운 그룹을 생성하는 명령으로 root만 사용 가능한 명령이다.
-r : 생성하는 그룹을 시스템 레벨로 생성할 때 사용. 0~499가 GID로 할당된다.
-g : 생성과 동시에 GID를 부여하고 싶은때 사용
groupmod
그룹명이나 GID를 변경할 때 사용하는 명령
groupdel
생성된 그룹을 삭제하는 명령
gpasswd
그룹의 패스워드를 설정하거나 구룹관리자를 지정하는 명령
mkfs 새로운 파일 시스템을 만드는 명령으로 root만 사용 가능하다.
-V : 자세한 정보 보기
-l 파일명 : 지정된 파일명으로부터 배드블록(Bad Block)목록 읽기
-t : 파일 시스템의 유형을 지정하는 옵션
-c : 배드 블록(bad block)을 체크한 후 파일 시스템을 구축한다.
-v : 작업상태와 결과를 상세히 출력한다.
mount
-t : 파일시스템의 유형을 지정하는 옵션
-o : 마운트할 때 추가 설정을 적용할때 사용하는 옵션으로 다수의 조건을 적용할 때는 콤마로 구분한다.
-o ro : 읽기 전용으로 마운트한다.
-user : 일반사용자가 마운트 할 수 있도록 한다.
umount : 마운트 해제
-v : 자세한 정보를 출력
fdisk
디스크 파티션을 확인하고 추가/삭제하는 명령으로 설정 후에는 반드시 재부팅을 해야 한다.
fdisk 명령을 실행하면 텍스트 기반의 특정 명령어를 입력해야 파티션을 설정할 수 있다.
처음 실행하면 ‘Command (m for help) :’ 가 나타나는데 ‘m’ 을 누르면 사용 가능한 명령의 목록을 출력해준다.
– l : 현재 디스크의 파티션 테이블 정보를 출력한다.
p : 현재 디스크 정보를 출력한다.
d : 파티션을 삭제한다.
q : 변경된 파티션의 정보를 저장하지 않고 종료한다.
ps
동작중인 프로세스의 상태를 출력해 주는 명령이다.
-l : 프로세스의 정보를 길게 보여주는 옵션
kill : 프로세스에 특정한 시그널(signal)을 보내는 명령으로 옵션 없이 실행하면 프로세스에 종료 신호(15, TERM, SIGTERM)를 보낸다. 보통 중지시킬 수 없는 프로세스를 종료시킬 때 많이 사용한다.
– l : 시그널의 종류를 출력한다.
– s : 시그널의 이름을 지정하는 옵션이다.
top
동작중인 프로세스의 상태를 실시간으로 화면에 출력해 주는 명령으로 프로세스의 상태뿐만 아니라 CPU, 메모리, 부하 상태 등도 확인할 수 있다.
top 실행 상태에서의 명령
k : kill 명령을 내린다.
h : 도움말을 출력
q : top을 종료
r : Nice 값을 변경
디스크 쿼터(Quota)
리눅스 시스템은 기본적으로 자용자의 용량을 제한하지 않아서, 특정 사용자가 디스크에 남아 있는 용량을 모두 사용할 수 있다. 따라서 사용자가 많은 서버의 경우에 사용자의 디스크 사용량 제한이 필요한데 이러한 제한을 디스크 쿼터라고 한다.
quotacheck : 디스크를 사용하고 있는 파일 시스템을 체크하여 quota 기록파일을 가장 최근의 상태로 업데이트 시키는 명령이다.
quotaon/quotaoff : 쿼터 설정을 활성화/비활성화 하는 명령이다.
repquota : 파일 시스템 단위로 쿼터 설정 정보를 출력해 주는 명령이다.
quota : 사용자 단위로 쿼터 설정 정보를 출력해주는 명령이다.
setquota : 쿼터를 설정하는 명령으로 vi편집기를 이용하는 대신에 직접 명령행에서 설정 가능하다.
yum (Yellowdog Updater, Modified )
rpm기반의 시스템에서 패키지를 손쉽게 설치해 주고 자동으로 업데이트를 수행하는 명령행 기반의 유틸리티이다.
– y : 모든 질의에 yes 라고 답한다.
– v : 자세한 정보를 출력한다.
yum update : 패키지를 업데이트할 때 사용한다.
apt-get update : 패키지 목록을 갱신할 때 사용한다.
dpkg (데비안 패키지 관리도구) : 관련 프로그램을 .deb형태의 파일로 배포하여 설치, 삭제 등의 관리를 한다.
플러그 앤 플레이
꽂으면 실행된다는 뜻으로, 컴퓨터 실행 중에 주변 장치를 부착해도 별다른 설정 없이 작동함을 뜻한다.
/etc/printcap
프린터 설정파일로 lpd가 구동할 때 참조하는 파일이다.
hp : 프린터의 이름을 정의한 것이다. printtool의 Name and Aliases항목에서 설정한다.
sh : 표기페이지(burst page)를 인쇄하는 설정이다. 버스트페이지란 사용자, 프린트된 파일
이름, 작업번호, 또는 기타 다른 정보를 인쇄하는 페이지이다.
sd : spool directory의 약자. 일반적으로 ‘var/spool/lpd/프린터이름’으로 설정된다.
mx : 이것은 프린터로 보내어질 파일의 최대크기를 정의한다. #0은 최대 파일 크기를 정의
하지 않는다.
lp : 프린트를 위한 장치이름이다.
if : input filter의 약자. 어떤 파일이든지 프린터로 보내질 때, |(pipeline)을 통하여 if
명령과 함께 프린트 큐(queue)에 저장된다.
커널 컴파일 순서
커널 소스 파일 압축해제 > 커널 소스의 설정값 초기화(make mrproper) > 커널 컴파일 옵션 설정 작업(make menuconfig) > 커널 이미지 파일 생성 작업(make bzimage) > 커널 모듈 생성을 위한 컴파일 작업(make modules) > 커널 모듈 설치 작업(make modules install) > 커널 모듈 파일 복사, grub.conf 파일 수정(make install) > 새로운 커널 사용을 위한 시스템 재부팅
make mrproper : 커널 소스의 설정값 초기화
make config : 텍스트 기반의 설정 도구로 터미널 환경에서 y, m, n으로 설정한다.
make menuconfig : 텍스트 기반의 컬러 메뉴를 제공하고 커서를 이용해서 이동이 가능하다.
make noconfig : 텍스트 기반의 컬러 메뉴를 제공하고 커서와 [F1]~[F9] 까지의 기능키를 제공하는 도구
make xconfig : X 윈도 환경의 Qt 기반의 설정도구
make gconfig : X 윈도 환경의 Gtk 기반의 설정도구
lsmod : 리눅스 커널에 적재된 모듈 정보를 출력하는 명령
SANE( Scanner Access Now Easy )
SANE은 평판 스캐너, 핸드 스캐너, 비디오캠 등 이미지 관련 하드웨어를 사용할 수 있도록 해주는 API이다.
/var : 시스템 운영 로그 파일과 스풀링과 같은 가변적인 데이터를 보관하는 디렉터리이다.
0 12 * * 1-5 /home/posein/work.sh
월요일부터 금요일까지 오후 12시에 /home/posein/work.sh 스크립트를 실행한다.
/etc/shadow : /etc/passwd의 두번째 필드인 패스워드 부분을 암호화하여 관리하는데 총 9개의 필드로 구성되어 있다.
username : password : last : may : must : warn : expire : disable : reserved
사용자명 : 패스워드 : 패스워드 파일 최종 수정일 : 패스워드 변경 최소일 : 패스워드 변경 최대일 : 패스워드 만료 경고기간 : 패스워드 파기 기간(패스워드 파기후 계정 비활성 기간) : 계정 만료 기간 : 예약 필드
root:x:0:0:root:/root:/bin/bash
필드 1 : 사용자명
필드 2 : 패스워드(/etc/shadow 파일에 암호화되어 있음)
필드 3 : 사용자 계정 uid
필드 4 : 사용자 계정 gid
필드 5 : 사용자 계정 이름(정보)
필드 6 : 사용자 계정 홈 디렉토리
필드 7 : 사용자 계정 로그인 쉘
visudo – sudo 의 환경설정 파일인 /etc/sudoers를 편집할 때 사용하는 명령으로 vi 편집기가 실행된다.
dump 및 restore
파일들이 아닌 파일 시스템 전체를 백업할 때 사룡하는 유틸리티로 보통 파티션 단위로 백업할때 많이 사용한다.
전체 백업과 증분 백업을 지원하고 0~9 단계의 레벨을 가지고 증분 백업을 지원한다.
레벨 0이 전체 백업이고 나머지 레벨들은 부분 백업 시에 사용한다.
백업할 때 /etc/fstab/ 파일을 참조하며 데이터 복원을 restroe 명령을 사용한다.
# tar -jcvf home.tar.bz2 /home
/home 디텍토리 내용을 묶어서 bzip2로 압축
# tar -jxvf home.tar.bz2 /home
/home.tar.bz2 파일의 묶기 및 압축 해제
-h : 심볼릭 링크가 가리키고 있는 원본 파일을 저장한다.
-z : gzip 관련 옵션으로 압축 파일인 tar.gz 에 사용한다.
피이어폭스 : 모질라 재단에서 개발한 자유 소프트웨어 웹 브라우저로 리눅스뿐만 아니라 윈도우, Mac OS X, 안드로이드 에서도 사용할 수 있다.
CGI(Common Gateway Interface) 공용 게이트웨이 인터페이스. 웹 서버 상에서 사용자 프로그램을 동작시키기 위한 조합
Apach 와 PHP는 소스설치시 전통적인 방법인 configure > make > make install 방법을 사용
MySQL은 cmake > make install 방법을 사용한다.
MySQL 서버에 GPL 라이센스나 그에 상응하는 라이센스를 가지고 있지 않은 어플리케이션을 포함하려면 MySQL 서버용으로 상용 라이센스가 필요하다.
SSL(Secure Socket Layer) : WWW(World Wide Web) 브라우저와 WWW 서버 간에 데이터를 안전하게 주고받기 위한 업계표준 프로토콜로서, 웹 제품뿐만 아니라 파일 전송규약(FTP) 등 다른 TCP/IP 응용 프로그램에 적용할 수 있으며, 인증 암호화 기능이 있다.
./configure 명령으로 컴파일 옵션을 설정
prefix 옵션은 MySQL을 설치할 디렉토리를 설정하는 옵션
localstatedir 옵션은 데이터베이스의 데이터를 저장할 디렉토리를 설정하는 옵션
with-charset’ 옵션은 특화된 문자셋을 설정하는 옵션
/usr/local/mysql 디렉토리에 MySQL을 설치
데이터는 /usr/local/mysql/data 에 저장
한글 코드(euc_kr)를 사용
VirtualHost : 가상 호스트를 지정하는 태그. 가상 호스트 관련 설정을 한다.
ServerAdmin : 해당도메인을 관리하는 관리자 이메일 주소를 적는 부분이다.
DoucumentRoot : 기본 웹 문서가 위치하는 디렉터리를 적는다.
ServerName : 도메인을 적는다.
ServerAlias : 지정한 기본 도메인 이외에 또 다른 호스트네임도메인을 적을 때 사용한다.
ErrorLog : 에러로그를 기록할 파일을 적는다.
CustomLog : 접속기록 등 일반적인 로그를 기록할 파일을 적는다.
LDAP (Lightweight Directory Access Protocol 경량 디렉터리 접근 규약) : IP프로토콜을 기반으로 사용자, 시스템, 네트워크, 서비스 정보 등의 디렉터리 정보를 공유할 수 있다.
1980년 중반 Sun Microsystems사에서는 두가지 프로토콜을 개발하였는데, 하나는 NFS 이고 다른하나가 NIS 이다.
NIS – 하나의 서버에 등록된 사용자 계정, 암호, 그룹정보 등을 공유하여 다른 시스템에 제공하는 서비스를 말한다.
마이크로소프트와 인텔은 윈도 시스템이 다른 시스템의 디스크나 프린터 등의 자원을 공유할 수 있도록 Server Message Block(SMB)이라는 프로토콜을 개발하였는데, 삼바란 이 SMB를 이용하여 리눅스를 비롯한 유닉스 계열 운영체제와 윈도우 운영체제간의 자료 및 하드웨어를 공유할 수 있도록 해준다.
user : 삼바 서버에 접속할때 사용자명과 패스워드를 입력해야 한다.
share : 삼바 서버에 사용자 인증 없이 접근할 때 사용한다.
server : 다른 서버에 사용자명과 암호를 전달하여 인증할 때 사용한다.
domain 또는 ads : 윈도우의 도메인 컨트롤러에 전달하여 유효한 사용자 여부를 확인할 때 사용한다. ads 는 Active directory Server를 사용하는 경우에 지정한다.
윈도우에서 접근할 때의 폴더 이름은 public 로 설정
comment : 간단한 설명을 설정한다.
path : 공유 디렉터리의 경로를 설정한다.
writable : 공유 디렉터리를 쓰기 가능하게 설정한다.
write list : 공유 디렉터리에 접근 및 쓰기 권한을 행사할 수 있는 사용자를 지정한다.
browseable : 공유 디렉터리에 리스트를 보여줄 때 설정한다.
valid users : 공유 디렉터리를 이용할 수 있는 사용자를 지정한다.
NFS는 1984년 Sun Microsystems 사에서 개발한 프로토콜로 TCP/IP 네트워크상에서 다른 컴퓨터의 파일 시스템을 마운트하고 공유하여 상대방의 파일 시스템 일부를 마치 자기 자신의 디렉터리인 것처럼 사용할 수 있게 해준다.
NFS 서버의 접근제어는 /etc/exports 에서 설정하고 /etc/rc.d/init.d 디렉터리에 존재하는 데몬 스크립트인 rpcbind, nfs 를 실행하면 사용 가능하다.
sync : 디폴트 값이며, nfs가 쓰기 작업을 완료할 때 마다 매시간 디스크를 동기화 해준다.
async : 쓰기가 설정된 디스크 스토리지에 사용하면 유용한 옵션으로 데이터 변경에 대비해 비동기적 처리를 할 때 사용한다.
리눅스에서 사용하는 대표적인 FTP 서버 프로그램에는 Wu-ftpd, Proftpd, vsftpd 등이 있다.
ftpusers : PAM 관련 설정 파일인 /etc/pam.d/vsftpd 에 사용되는 파일로 기본 설정이 접근 거부될 사용자 목록으로 이용된다.
sendmail.cf : sendmail 의 설정파일.
sendmail.mc 는 설정을 좀 더 용이하게 하기 위한 설정 보조파일로서 sendmail.mc 에서 설정을 해주고 다음의 명령(m4 sendmail.mc > sendmail.cf) 으로 sendmail.cf 를 생성할 수 있다.
DRAC(Dynamic Relay Autohorization Control)
DRAC는 동적아이피를 가지는 호스트들의 메일릴레이를 POP3를 통한 인증 매카니즘으로 데이터베이스(/etc/mail/dracd.db)를 구축하여 이를 바탕으로 메일릴레이를 허용하는 daemon이다.
FQDN(Fully Qualified Domain Name) : FQDN은 명확한 도메인 표기법을 말한다.
PTR : 리버스 존에서만 사용하는 레코드로 IP 주소를 도메인으로 변환하기 위해 지정한다.
MX : 메일 서버를 지정할 때 사용한다. MX 다음에 0 또는 양의 정수값을 기입해서 우선순위를 지정해야 한다.
nslookup : DNS를 이용하여 도메인이나 IP를 조회하는 명령이다.
dig : 도메인명으로 정보를 조회하는 명령이다.
host : 도메인명으로 정보를 조회하는 명령이다.
rndc : 네임서버 컨트롤 유틸리티
primary Name Server : 사용하는 도메인을 관리하기 위해 필수적으로 구성하는 서버로 보통 Master DNS라고 부른다.
Secondary Name Server : primary Name Server 의 zone 파일을 백업하는 역할을 수행하여 Slave DNS라고도 부른다.
Caching Name Server : 관리하는 도메인 없이 리졸빙만을 제공하기 위해 구성되는 서버이다.
serial_number : 일종의 일련번호로 zone 파일이 갱신되면 숫자가 더 크도록 설정한다. YYYYMMDDNN 형식을 사용
refresh_number : 보조 네임서버가 자신의 정보를 업데이트 하기 위해 주 네임 서버에 얼마나 자주 체크할 것인지를 설정한다.
retry_number : 보조 네임서버가 주 네임 서버 접근에 실패했을 경우에 재시도할 주기를 설정한다.
expire_number : 보조 네임 서버가 주 네임 서버에 접근을 실패하여 retry_number 에 설정한 주기로 재시도를 할 때의 만기 시간을 지정한다.
minimum_number : 일종의 SOA 영역의 TTL 로서 가져간 정보의 최소 보관 시간을 설정한다.
# yum install kvm kmod-kvm
# service libvirtd start
# virt-manager
RHEV(Red Hat Enterprise Virtualization)
Xen
CPU 전가상화 뿐만 아니라 CPU 반가상화도 지원하는 가상화 기술
다양한 CPU를 지원하는 하이퍼바이저 기반의 가상화 기술이다.
커널이 수정된 게스트 운영체제를 통해 물리적 서버 대비하여 최대 98%의 성능을 나타내는 CPU반가상화를 비롯하여 수정되지 않은 윈도우 및 기타 운영체제를 그대로 게스트 시스템에 실행할 수 있도록 전가상화 도 자원한다.
QEMU 기반으로 동작한다.
cps
초당 요청받은 수에 대한 제한을 설정하는 항목
cps = 50 10
초당 요청수가 50개 이상일 경우 10초동안 접속 연결을 중단한다.
instances
동시에 서비스할 수 있는 서버의 최대 개수를 지정하는 항목으로 접속 제한을 두지 않으려면 UNLIMTED 로 설정한다.
instances = 50
xinetd에서 생성하는 관련 데몬의 최대 개수를 50으로 지정한다.
per_source
특정 IP 주소에서 접속할 수 있는 최대 개수를 지정한다.
per_source = 5
같은 IP 주소로 접속할 수 있는 서비스의 수를 5로 제한한다.
option routers : 게이트웨이 주소를 지정할때 사용한다.
option domain-name : 도메인명을 지정할 때 사용한다.
option domain-name-servers : 네임서버를 지정할 때 사용하는 항목으로 도메인 또는 IP주소를 기입힌다.
range dynamic-bootp : DHCP 클라이언트뿐만 아니라 BOOTP 클라이언트도 함께 할당할 경우에 사용한다.
default-lease-time : 임대를 요청하는 클라이언트가 특정한 만료 시간을 요청하지 않았을 경우에 할당되는 시간으로 단위는 초이다.
max-lease-time : 임대를 요청한 클라이언트가 IP주소를 가지고 있을 수 있는 최대시간으로 단위는 초이다.
NTP는 Network Time Protocol 의 약자로, 인터넷을 통하여 서버의 시간을 동기화 하는 방법
VNC(Virtual Network Computing, 가상 네트워크 컴퓨팅) : 컴퓨터 환경에서 RFB 프로토콜을 이용하여 원격으로 다른 컴퓨터를 제어하는 그래픽 데스크톱 공유 시스템이다. 자판과 마우스 이벤트를 한 컴퓨터에서 다른 컴퓨터로 전송시켜서 네트워크를 거쳐 그래픽 화면을 갱신하는 방식을 제공한다.
vncpasswd : 서버 패스워드 설정
VNC 서버의 기본 포트 번호는 5900번이지만, 서버의 상태에 따라 5901번으로 지정하거나 가상 장치 관리자를 사용하는 경우에는 5902번으로 지정해야 한다.
-s : 출발지 IP 주소나 네트워크와 매칭. 도메인, IP주소, 넷마스크 값을 이용하여 표기
TCP의 확장 : 먼저 -p tcp로 프로토콜을 지정하고 추가로 지정할 옵션을 사용
dport : 도착지의 포트를 지정하는 것
Virtual Private Network(VPN) : 가상 사설망.인터넷 회선을 암호화된 규격을 통해 마치 개인 전용선같이 끌어쓰는 게 가상 사설망의 핵심