리눅스마스터1급 1차
리눅스기반 운영체제
Android, Tizen, MeeGo, Bada OS, Debian, GENIVIm Moblin
리눅스는 유닉스 표준인 POSIX를 준수
스왑 : 하드디스크 일부를 메모리처럼 사용하는 기술
현재 사용중인 터미널 이외에 추가로 다른터미널 사용 키조합
ALT + F2
텍스트모드 기반의 가상콘솔에서 이미 지나간 작업을 보기위한 키조합
Shift + Page UP
리눅스의 특징
모든장치는 파일화
공유 라이브러리를 통해 메로리를 효율적으로 사용
리다이렉션을 통해 입출력 전환
자유 소프트웨어 재단(FSF)을 설립한 사람
리처드 스톨먼
데비안 리눅스를 기초로 고유한 데스크톱 환경인 유니티를 사용하여 만든 배포판
우분투
자유소프트웨어
상업용 목적으로 사용할 수 있다.
소스코드를 임의로 개작할 수 있다.
소스코드 수정시 반드시 공개해야한다.
GNU프로젝트에 의해 개발된 프로그램
GCC, BASH, EMACS
레드햇 계열에 속하는 배포판
RHEL, CentOS, Fedora
LGPL이 적용된 라이브러리를 이용하여 프로그램을 개발했을 경우에는 소스를 공개하지 않아도 된다.
LGPL이 적용된 라이브러리의 소스를 수정했을 경우에는 소스를 공개해야 한다.
BSD, Apache라이센스는 소스를 수정해서 사용해도 반드시 공개할 필요는 없다.
고성능의 계산능력을 제공하기위한 목적
여러컴퓨터를 병렬로 묶어서 구성, 슈퍼컴퓨터 제작에 사용
=>HPC
임베디드 리눅스
별도의 로열티나 라이센스 비용이 없다.
소스가 공개되어 있어서 변경 및 재배포가 용이하다.
리눅스를 사용한 지 오래되어서 커널이 안정적이다.
사용자모드와 커널모드 메모리 접근이 간단하지는 않다.
업무처리에 필요한 서버나 스토리지와 같은 IT하드웨어 자원을 빌려 쓰는 클라우드 서비스
=>IaaS
IDE, ATA
=> /dev/hdx
SCSCI, S-ATA, USB, SSD
=> /dev/sdx
RAID-5
최소3개의 디스크로 구성
1개의 디스크를 패리티공간으로 사용
RAID-6
최소4개의 디스크로 구성
2개의 디스크를 패리티공간으로 사용
LVM
여러개의 디스크를 하나로 묶어서 사용하는 기술.
사용중에 파티션의 크기를 줄이거나 늘릴 수 있다.
크기가 다른 하드디스크로 구성할 수 있다.
GRUB(GRand Unified Boot loader)
GNU프로젝트에서 만든 부트로더
메뉴 인터페이스 방식을 기본으로 사용
/boot/grub/grub.conf 에서 설정
/proc
일종의 가상파일 시스템으로 동작중인 프로세스의 상태정보, 하드웨어 정보, 시스템 정보 등을 알 수 있다.
/bin
실행파일들이 들어있다. 명령어가 들어있는 디렉터리로 보통 PATH가 설정되어 있다.
/dev
하드디스크, 터미널 등과 같이 실제로 존재하는 물리적인 장치등을 파일화 하여 관리하는 디렉터리
/home
개인 사용자들이 파일이나 디렉터리를 만들어서 사용할 수 있는 디렉터리.
/lib
각종 라이브러리가 저장되어있는 디렉터리. 커널 모듈도 이 디렉터리에 들어있다.
/mnt
CD-ROM, 하드디스크, 네트워크 파일 시스템 등을 마운트할때 포인터가 되는 디렉터리.
/misc
자동 마운트 프로그램인 autofs에 의해 사용되는 디렉터리.
/opt
응용프로그램들의 설치를 위해 사용되는 디렉터리
/root
root사용자의 홈 디렉터리
/sbin
시스템 관리에대한 명령어.
/usr
시스템 운영에 필요한 명령, 응용프로그램들이 위치하는 디렉터리. 개발도구. mysql, php 등등 모두 이 디렉터리의 하위에 설치됨.
이디렉터리의 주요 하위디렉터리에는 응용프로그램의 명령어들이 들어있는 /usr/bin, /usr/sbin. 로컬에서 추가로 설치할 때 사용되는 /usr/local
/var
로그파일. 메일서버로 운영하는 경우 도착한 메일이 이 디렉터리의 하뒤 디렉터리에 존재.
/sys
USB처럼 hot-plug하드웨어 정보를 가지고 있는 디렉토리.
/cgroup
control group은 시스템 상에 동작중인 태스크들을 임의로 그룹지어 제어할 수 있도록 도와주는 기능을 제공하는데, 관련정보를 담고있는 디렉터리.
리눅스 런레벨
0 | 시스템 종료 |
1 | single user mode로 로그인과정없이 root사용자로 접속. 네트워크, 서버, 파일공유 등과 같은 서비스를 하지 않고, root패스워드를 잊어버렸거나 시스템 점검등을 할 때 접근. |
2 | 네트워크를 사용하지 않는 다중사용자모드 |
3 | CLI로 실행. |
4 | 사용자가 정의하여 사용가능 |
5 | X윈도로 실행. |
6 | 시스템 재부팅1 |
/etc/motd
‘Message Of The Day’의 약자로 로그인했을때 사용자에게 보여주는 메시지를 기록하는 파일.
파일 시스템
운영체제가 파티션이나 디스크에 데이터를 저장하고, 읽고, 쓰고찾기 위해 구성하는 일련의 체계
포맷
파일을 저장하기 위해 디스크를 일정한 크기로 분할하고 주소를 설정하는 작업
Xlib
C언어로 구현된 클라이언트 라이브러리. X서버와 대화를 해주는 역할
#startx
=>X윈도 실행
/etc/inittab에서 런레벨 설정 가능.
X윈도의 구성요소 중 사용자 로그인 및 세션관리 역할
=> 디스플레이 매니져
GUI환경을 이용하기 위해 사용자에게 제공되는 인터페이스 스타일. 파일관리자, 아이콘, 창, 도구모음, 배경화면등이 포함
=> 데스크톱 환경
KDE
데스크톱 환경의 일종
Qt라이브러리를 기반으로 만들어졌다.
리눅스뿐만 아니라, FreeBSD, Solaris, OS X 등도 지원.
GNOME
GPL 및 LGPL라이선스를 따른다.
GNU프로젝트를 통해 만들어졌다.
GTK+라는 라이브러리를 기반으로 만들어졌다.
GNOME과 관련있는것
nautilus
metacity
Mutter
XFce ( X )
GNOME2 버전까지는( metacity ) 라는 윈도매니저를 사용하였고, GNOME3버전부터는 ( Mutter ) 라는 윈도 매니저를 사용한다.
X윈도 환경에서 윈도의 배치와 표현을 담당하는 시스템 소프트웨어
=> 윈도 매니저
X클라이언트를 원격지로 전송하기 위해 변경하는 환경변수
=> DISPLAY
원격지에 접속하는 X 클라이언트를 허가할 때 IP주소나 호스트명이 아닌 X윈도 실행 시에 생성되는 키값으로 인증할 때 사용
=>xauth
사용자가 X윈도 실행시에 관련 키 정보를 저장하는 파일
.Xauthority
이미지뷰어프로그램
GIMP
ImageMagick
eog
Totem ( X )
PDF문서를 볼때 사용하는 프로그램
evince
LibreOffice패키지에서 프레젠테이션 프로그램
Impress
사용가능한 셸의 목록을 확인할 때 사용하는 명령어
chsh
사용가능한 셸의 목록을 확인할 수 있는 파일
/etc/profile
가장 마지막에 실행한 명령을 호출하는 방법
!!
히스토리에 저장되는 명령의 개수를 제한할 때 사용하는 환경변수
HISTSIZE
개인사용자의 환경변수와 시작프로그램 관련 설정시 사용하는 파일
.bash_profile
모든사용자에게 적용되는 alias와 함수를 설정할 때 사용하는 파일
/etc/bashrc
프롬프트 변경시에 사용되는 환경변수
PS1
[Ctrl] + [z]
포어그라운드 프로세스를 백그라운드 프로세스로 전활할 때 사용하는 인터럽트 키 조합
[Ctrl] + [c]
SIGINT
[Ctrl] + [\]
SIGQUIT
데몬 프로세스 실행방법에는 standalone과 inetd이 있다.
standalone : 부팅시에 실행. 해당 프로세스가 메모리에 계속 상주하면서 클라이언트의 서비스 요청을 처리하는 방식
inetd : 프로세스가 항상 메모리에 상주 X. 요청이 들어왔을 때에만 프로세스를 실행. 접속종료후에는 자동으로 프로세스 종료.
#chkconfig telnet on
=>텔넷 서비스 활성화.
MAN을 위한 국제표준안으로 IEEE802.6에 정의되어 있는 것
=>DQDB
이더넷 매체 표기법
10BASE-5
=>10Mbps전송속도. 동축케이블
100BASE-TX
=>100Mbps전송속도. UTP-5케이블
100BASE-FX
=>100Mbps. 광케이블
ATM으로 더 많이 알려져 있으며, 53Byte의 고정길이 패킷을 이용하여 순서대로 자료를 전송하는 방식
=>Cell Relay
프로토콜의 구성요소 중 전송의 조작이나 오류제어를 위한 제어정보에 대한 규정
=>의미(Semantics)
전기 통신의 개선과 효율적인 사용을 위해 국제 협력을 증진하고, 전기통신의 능률향상, 이용증대 및 보급을 위해 만들어진 정부간 국제기구.
=>ITU-T
네트워크계층
=>경로선택. 혼잡제어.
표현계층
=>암호화. 해독. 압축. 압축해제
=>송수신 호스트 간에 서로 다르게 사용하는 코드와 문자등을 번역하여 일관되게 전송 데이터를 서로 이해할 수 있도록 하는 기능을 제공하는 계층.
프로토콜 및 프로토콜 번호를 확인할 수 있는 파일
=> /etc/protocols
프로토콜과 관련된 포트번호를 확인할 수 있는 파일
=> /etc/services
네트워크로 연결되어있는 컴퓨터에서 상호간 통신을 위한 접점으로 이곳을 통해서 데이터를 교환.
=>소켓
IP주소 할당 및 도메일은 관리하는 국제기구
=>ICANN
루프백장치를 나타내는 파일명
=>lo
설정되어있는 DNS서버를 확인할 수 있는 파일
=>/etc/resolv.conf
ifconfig명령으로 확인할 수 있는것
=>IP주소, MAC주소, 넷마스크
게이트웨이 주소를 확인하기위한 명령어
=>route
네트워크관련 설정 파일을 변견한 후 네트워크 데몬을 재시작하는 방법
=>service network restart
=>/etc/rc.d/init.d/network restart
=>/etc/init.d/network restart
=>/etc/network restart (X)
게이트웨이 주소를 설정하는 방법
=>route add default gw 192.168.~~~
모든소켓의 PID 및 프로그램명을 출력. 호스트명 및 포트명은 숫자로 출력
=>netstat -anp
서버시스템이 원격클라이언트로부터 접속 요구를 받아 클라이언트에게 응답을 하였지만, 아직 클라이언트에게 확인메세지는 받지않은 상태
=>netstat의 상태값 = SYN_RECEIVED
로컬네트워크에 있는 특정 호스트의 MAC주소를 조회하려고 할때 사용하는 명령
=>arp
네트워크 인터페이스의 연결상태를 확인하고, 강제적으로 랜카드의 속도와 duplex모드를 변경하는데 사용하는 툴
=>mii-tool
부팅 시 네트워크 사용유무를 지정하는 파일
=> /etc/sysconfig/network
이더넷 카드를 하나만 장착한 시스템에서 IP주소가 기록되는 파일
=>/etc/sysconfig/network-scripts/ifcfg-eth0
ip명령어
=>IP주소 확인, 등록 및 삭제
=>네트워크 인터페이스 활성 및 비활성
=>라우팅테이블 확인
=>게이트웨이 주소값 설정 및 삭제
사용자 생성시 참조하는 파일. 홈 디렉토리, 기본 그룹정보등을 확인하는 파일
=>/etc/default/useradd
#useradd posein
#passwd posein
=>홈디렉토리는 /home/posein
=>메일 관련파일은 /var/spool/mail/posein
=>사용자계정정보는 /etc/passwd
새로운 사용자를 생성하였을 경우, 새 사용자를 위한 기본 폴더를 참고하는 디렉토리
=>/etc/skel
메일 디렉터리, 패스워드 관련 설정, UID의 최솟값 및 최댓값, 홈디렉터리 생성 여부등이 정의되어있는 파일
=>/etc/login.defs
posein사용자가 현재 hannam이라는 그룹에 속해있다. posein사용자의 그룹을 IHD로 변경하는 명령.
=>usermod -g IHD posein
posein사용자의 아이디를 yuloje로 변경
=>usermod -l yuloje posein
posein의 계정만기일을 "2020-12-31"로 설정
=>usermod -e 2020-12-31 posein
posein계정을 삭제할때 그 사용자의 파일 및 디렉터리를 같이 제거
=>userdel -r posein
posein계정의 패스워드에 잠금을 설정하여 일시적으로 로그인을 막으려고한다
=>passwd -l posein
사용자의 패스워드에 대한 정보를 출력하고, /etc/passwd의 날짜 관련 필드를 모두 설정할 수 있는 명령어
=>chage
kait라는 그룹이름을 ihd로 변경
=>groupmod -n ihd kait
/etc/passwd와 /etc/shadow를 점검해주는 명령
=>pwck
여러그룹에 속한 사용자가 일시적으로 주 그룹을 변경할때 사용하는 명령어
=>newgrp
admin그룹의 관리자를 posein으로 지정하는 명령
=>gpasswd -A posein admin
시스템에 로그인한 사용자의 아이디를 확인하는 명령
=>w, who, users
파일의 허가권을 확인하는 명령어
=>ls
해당값이 설정된 파일은 실행시 해당파일을 실행하는 동안에는 실행시킨 사용자의 권한이 아닌 해당파일의 소유자 권한으로 인식.
=> Set-UID
해당값이 설정된 디렉터리에 사용자가 파일을 생성하면 사용자가 속한 그룹에 상관없이 디렉터리를 소유한 그룹권한으로 만들어진다.
=>Set-GID
해당값이 설정된 디렉터리에서는 사용자들이 파일생성에는 제한이 없으나, 파일 삭제시에는 본인이 생성한 파일만 가능하다.
=> Sticky-Bit
Sticky-Bit와 가장 관련있는 디렉터리
=> /tmp
/data디렉터리에 Sticky-Bit를 설정
=>chmod o+t data/
다음파일의 소유자는 posein, 소유그룹은 yuloje로 지정하려고 할 때
=>chown posein:yuloje abc.txt
파일이나 디렉터리의 생성시에 부여되는 기본 허가권의 값을 지정하는 명령어
=>umask
joon.txt파일의 심볼릭링크파일로 j를 생성
=>ln -s joon.txt j
하드링크파일 생성시 원본과 생성된 링크파일의 사이즈는 다르다.
하드디스크 추가 과정
'fdisk -l'명령으로 디스크 인식 확인
fdisk를 이용한 파티션 분할 및 생성
mkfs로 파일시스템 생성
mount명령으로 마운트
/etc/fstab파일에 등록
파일시스템을 점검할때 사용하는 명령어
=>fsck
fsck와 가장 관계깊은 디렉터리
=>/lost+found
/etc/fstab 필드중에 fsck와 가장 연관있는 필드
=>6번째
파일이나 디렉터리의 크기를 확인할때 사용하는 명령어
=>du
/etc디렉터리의 총 사용량을 단위를 붙여서 확인
=>du -sh /etc
스왑파일을 생성하는 절차
dd를 이용한 파일생성
mkswap명령 스왑파일생성
swapon명령 스왑활성화
사용자의 쿼터관련정보를 기록하는 파일
=>aquota.user
사용자 쿼터를 이용하기위해 /etc/fstab에 설정하는 옵션값
=>usrquota
edquota옵션 중 디스크쿼터의 soft제한을 초과했을때의 유예기간을 설정하는 옵션
=>-t
posein사용자에 설정된 쿼터를 yuloje사용자에게도 적용하기위한 방법
=>edquota -p posein yuloje
일반사용자가 본인의 디스크쿼터설정을 확인할 때 사용하는 명령
=>quota
quotacheck -mf /home
mkdir로 디렉터리 생성 시 부모디렉터리까지 생성하는 옵션
=>-p
rm명령으로 디렉터리 삭제시 옵션
=>-r
rm명령으로 파일들을 삭제 시 하나씩 질의하면서 확인하는 옵션
=>-i
파일의 종류를 확인할때 사용하는 명령
=>file
touch명령으로 파일 생성 시 파일의 Change Time은 과거의 시간으로 변경할 수 없다.
/etc/passwd 파일의 타임스탬프 확인
=>stat /etc/passwd
cat명령으로 텍스트파일의 개행문자나 탭문자를 확인하는 옵션
=>-A
시스템전체에서검색
'.txt'로 끝나는 파일 및 디렉터리를 찾는다.
오류메시지는 화면에 출력하지 않는다.
=>find -name '*.txt'
b.txt파일의 내용을 a.txt파일에 추가
=>cat < b.txt >> a.txt
tail명령으로 로그파일을 계속적으로 모니터링
=>tail -f /var/log/secure
텍스트파일의 내용을 한 페이지씩 확인하는 명령. 커서를 사용해서 상하좌우 이동이 가능한 명령
=>less
하나의 파일을 여러개의 작은 파일로 분리할때 사용하는 명령
=>split
grep명령으로 a.txt에서 posein 또는 yuloje라는 문자열을 검색하는 방법
=>grep -E 'posein|yuloje' a.txt
grep명령으로 a.conf에서 #으로 시작하지 않는 줄을 출력하는 방법
=>grep -v ^# a.conf
텍스트파일의 행 수, 단어 수, 문자 수를 출력해주는 명령
=>wc
cut명령으로 필드구분자는 :으로해서 /etc/passwd의 첫번째와 세번째 필드를 출력하는 방법
=>cut -d: -f 1,3 /etc/passwd
실행중인 프로세스 관련 정보는 /proc/PID디렉터리 안에 있는 파일로 확인할 수 있다. 프로세스를 실행시킨 파일명과 관련된 항목
=>exe
현재 활성화된 파티션 정보확인과 가장 관련있는 파일
=>/proc/partitions
crontab명령을 사용하여 스케줄링 작업을 등록하려고 할때 사용하는 옵션
=>crontab -e
crontab에서 등록된 작업을 제거
=>crontab -r
#cat /etc/cron.deny
=>posein
#cat /etc/cron.allow
=>posein
일반사용자 중에서는 posein만 cron사용이 가는하다.
실행중인 모든 프로세스를 확인하기위해 사용하는 ps명령의 옵션
=>ps aux
ps명령의 상태코드 중 작업은 종료되었으나 부모프로세스에 의해 회수되지 않아 메모리를 차지할때의 상태값
=>Z
top명령으로 확인할 수 없는 항목
=>네트워크 부하량
kill명령은 PID를 사용한다.
여러개의 프로세스에 시그널을 보낼 수 있다.
kill명령은 작업번호를 사용해서 프로세스를 종료시킬 수있다.
killall명령
같은데몬의 여러 프로세스를 한번에 종료시킬 때 유용하다.
시그널을 지정하지 않으면 TERM시그널이 보내진다.
프로세스명을 사용한다.
PID를 사용한다. ( X )
jobs명령어 사용 시 PID까지 출력하는 옵션
=>-l
nice명령어
프로세스 우선순위를 설정.
NI값을 지정할 때 사용.
일반사용자는 우선순위를 높일 수 없다.
값이 클수록 우선순위는 낮아진다.
사용자가 로그아웃하거나 작업중인 터미널창이 닫혀도 실행중인 프로세스를 백그라운드에서 계속 작업할 수 있도록 해주는 명령어
=>nohup
#nice -10 bash
=>우선순위를 낮춘것이다.
renice명령어
실행중인 프로세스의 우선순위를 변경할 때 사용.
PID외에 사용자명, 그룹ID로도 사용할 수 있다.
프로세스명을 사용하지 않는다.
실행중인 프로세스에 NI값이 즉시 부여되고 프로세스가 추가로 발생되지 않는다.
rpm패키지를 제거할 때 사용하는 옵션
=>-e
의존성이 발생한 패키지를 제거하려고 할 때
=>rpm -e httpd --nodeps
rpm명령에서 패키지를 검증할때 옵션
=>-V
설치하려는 rpm파일에 대한 정보를 보려고 할때
=>rpm -qip
시스템에 설치된 rpm패키지를 모두 검색할때 사용하는 옵션
=>rpm -qa
totem이라는 패키지를 yum으로 제거
=>yum remove totem
yum명령으로 설치된 패키지에 대한 정보 출력
=>yum list installed
yum명령으로 music이라는 문자열이 들어있는 패키지 검색
=>yum search music
yum관련해서 저장된 모든 정보를 삭제할때
=>yum clean all
apt-get명령으로 update할 때 가장 관련있는 파일
=>/etc/apt/sorces.list
dpkg로 패키지를 제거할 때 -P옵션을 사용하면 환경설정파일까지 제거
-r옵션을 사용하면 환경설정파일은 제거되지 않음.
데비안 리눅스에서는 설치시에 발생할 수 있는 의존성을 해결하기 위해 apt-get을 사용
레드햇 리눅스에서는 yum을 사용.
apt-get명령으로 install할 때 관련 deb파일이 생성되는 디렉터리
=>/var/cache/apt/archive
apt-get명령으로 install단계에서 생성된 파일을 제거할 때 사용하는 명령
=>apt-get clean
소스파일로 프로그램을 설치하는 단계
configure -> make -> make install
압축률이 가장 좋은 프로그램
=>xz
생성되어있는 posein.tar에 yuloje.txt를 추가로 묶고자 할 때
=> tar rvf posein.tar yuloje.txt
압축률 순서
xz > bzip2 > gzip > compress
sum.c라는 파일을 컴파일하여 sum이라는 실행파일명을 생성
=>gcc -o sum sum.c
모듈 제거시 사용하지않는 관련모듈도 함께 제거
=>modprobe -r 모듈명
커널모듈이 위치하는 디렉터리
=>/lib/modules/~~~~~/kernel
모듈관련 환경설정파일이 위치하는 디렉터리
=>/etc/modprobe.d
모듈간의 의존성을 기록한 파일
=>modules.dep
/etc/rsyslog.conf 파일에서 인증이 필요한 프로그램에서 발생한 메시지를 처리하는 facility는?
=>authpriv
/etc/rsyslog.conf파일에 설정하는 가장높은수준의 priority는?
=>alert
관련로그를 로그인한 posein사용자의 터미널로 전송하려고 한다.
#vi /etc/rsyslog.conf
authpriv.* posein
logrotate
로그파일은 하루, 일주일, 한달단위로 로테이션 할 수 있다.
로그파일 압축은 제공하지 않는다.
cron에 의해 스케쥴링되어 실행된다.
파일크기에 제한을 통해 로테이션할 수 있다. (X)
/etc/logrotate.conf파일에서 로그파일에 해당날짜를 덧붙여서 생성하는 설정
=>dateext
/var/log/secure파일에 쌓이는 로그기록
telnet, ssh, xinetd, ftp(X)
접속에 실패한 기록만 저장하는 로그파일명
=>/var/log/btmp
접속에 실패한 기록만 확인할때 사용하는 명령
=>lastb
/var/log/wtmp파일과 가장 관련이 있는 명령
=>last
cat명령으로 로그확인이 가능한 파일
=>/var/log/secure
last명령으로 posein사용자가 접속한 기록을 확인하려 할 때
=>last posein
재부팅기록을 확인
=>last reboot
lastlog명령을 이용하여 posein사용자가 최종 접속한 기록 확인
=>lastlog -u posein
dmesg
=>커널링 버퍼의 내용을 출력하고 제어하는 명령.
단일사용자모드로 접근을 제어하기위해 grub.conf파일에 패스워드를 설정하려고 한다. grub프롬프트에서 암호화된 패스워드 설정을 위해 실행하는 명령
=>md5crypt
ping응답을 하지않기위해 커널 파라미터값을 조정
=>sysctl -w net.ipv4.icmp_echo_ignore_all=1
sshd_config에서 root접속을 막기위한 설정
=>PermitRootLogin no
ssh명령으로 접속하려는데 포트번호가 180번으로 변경되었다. 접속방법은?
=>ssh 192.~~ -p 180
SSH서버 접속할때에 별도의 인증파일을 통해 접근하려고한다. SSH서버에 생성하는 인증파일은?
=> authorized_keys
SSH클라이언트에서 비밀키와 공개키를 생서할 때 사용하는 명령
=ssh-keygen
사용자를 인증하고 그 사용자의 서비스에 대한 접근을 제어하는 모듈화된 방법. 보통 응용프로그램에게 사용자 인증방법을 선택할 수 있는 공유 라이브러리 묶음을 제공한다.
=>pam
PAM에서 제공하는 라이브러리는 ( /lib/security ) 에 위치하고 동적으로 로드 가능한 오브젝트파일형태로 되어있다.
PAM을 이용하는 서비스들은 ( /etc/pam.d ) 디렉터리안에 설정되어 있다.
sudo의 환경설정파일인 ( /etc/sudoers ) 를 편집하기위해서 ( visudo ) 명령을 실행하면 vi편집기가 실행된다.
nmap : 네트워크 탐지 및 스캐너도구
tripwire : 무결성 검사 도구
nessus : 취약점 검사 도구
SELinux적용여부를 확인하는 명령
=>getenforce
SELinux를 비활성화 하는 명령어
=>setenforce 0
dump : 파일들이 아닌 파일시스템 전체를 백업할 때 사용하는 유틸리티.
restore : 데이터 복원시 사용하는 명령어
dd명령어
디스크단위로 백업할 때 사용.
파티션 단위로 백업할 때 사용.
소문자로 이루어진 텍스트파일은 전부 대문자로 전환할 때 사용.
디렉터리 단위로 백업할 대 사용. ( X )
Not Found에 해당하는 HTTP코드는?
=>404
아파치 웹 서버
=>소스가 공개되어있는 공개 소프트웨어
=>다양한 웹 프로그래밍 언어 지원
=>멀티스레딩 지원
=>PHP는 동적모듈로만 지원
초기에 시작하는 프로세스의 개수를 지정하고, 페이지 요청이 들어오면 스레드로 처리하는 방식
=>worker
아파치 소스파일을 설치하기전에 검증하려고한다.
(. ) httpd-~~~
=>md5sum
MySQL을 소스 설치하기 위해서 반드시 필요한 프로그램
=>cmake
MySQL을 설치한 후에 기본 데이터베이스를 생성할때 사용하는 명령
=>mysql_install_db
MySQL을 설치한 후에 관련 데몬을 실행하는 명령
=>mysqld_safe
아파치 웹서버환경설정할때 관련모듈을 전부 동적모듈로 설치하도록 지정하려고 한다. configure옵션으로 알맞은것
=>--enable-mods-shared
PHP설치시 아파치 데몬에 동적모듈로 로딩되도록 하기위해 경로를 설정하는 명령
=>apxs
PHP설치 후 httpd.conf에 php파일이 해석하도록 지정하는 과정
#vi httpd.conf
AddType application/(x-httpd-php) .htm .html .php
AddType application/(x-httpd-php-source) .phps
PHP설치 후 httpd.conf에 php관련 설정을 확인하는 과정.
#vi httpd.conf
LoadModule php5_module modules/(libphp5.so)
httpd.conf의 <Directory>태그 옵션 중 심볼릭링크의 사용을 허가할때 사용하는 항목
=>FollowSymLinks
일반사용자들이 개인 홈페이지를 이용하도록 설정하려면 ()파일에서 ()항목을 설정하면 된다.
=>httpd-userdir.conf / UserDir
아파치 웹 관련 파일 중 IP주소 하나에 여러 도메인을 운영하기 위해 설정하는 파일
=>httpd-vhosts.conf
httpd.conf의 항목
여러 웹문서 파일중에 처음으로 인식하는 파일을 start.html로 변경하려고 한다.
=>DirectoryIndex
아파치 사용자인증파일을 생성하고 관리해주는 명령
=>htpasswd
https프로토콜이 사용하는 포트번호
=>443
하나의 서버에 등록된 사용자 계정, 암호, 그룹정보등을 공유하여 다른 시스템에 제공하는 서비스
=>NIS
IP프로토콜을 기반으로 사용자, 시스템, 네트워크, 서비스정보등의 디렉터리 정보를 공유할 수 있다.
=>LDAP
LDAP속성 중 이름과 성의 조합을 나타내는 키워드
=>cn
NIS는 ()을 사용하기 때문에 관련호출을 처리하는 데몬을 반드시 구동시켜야 한다. 초기에는
()데몬이 그 역할을 수행했으나 현재는 ()데몬이 대신하고있다.
=>RPC / portmap / rpcbind
NIS도메인명을 부팅시에 적용시키려고 한다. 수정해야할 파일은?
=>/etc/sysconfig/network
NIS클라이언트 데몬
=>ypbind
NIS서버명과 관련 맵 파일을 출력하는 명령어
=>ypwhich
(. ) passwd.byname
=>ypcat
삼바는 초기에 ()프로토콜을 사용해서 유닉스와 윈도우간의 자료공유를 하였다. 현재는 ()프로토콜로 확장됨.
=>SMB / CIFS
삼바는 두개의 데몬으로 동작한다. ()는 파일과 프린터공유, 사용자권한부여 및 확인을 담당
()는 WINS를 담당하는 데몬으로 컴퓨터명과 IP주소연결등의 역할을 수행
=>smbd / nmbd
인증없이 삼바서버에 접근 가능하도록 설정
#vi /etc/samba/smb.conf
security = ()
=>share
삼바서버에 접속을 192.168.12.0 네트워크 대역에 속한 호스트만 가능하도록 smb.conf파일에 설정
=>host allow = 192.168.12.
smb.conf파일의 설정오류를 점검하는 명령
=>testparm
posein이라는 삼바사용자를 제거하려고한다
=>smbpasswd -x posein
posein이라는 삼바사용자를 암호입력없이 로그인
=>smbpasswd -n posein
삼바사용자의 데이터베이스 파일인 SAMdatebase를 관리해주는 명령
=>pdbedit
NFS서버의 접근제어 및 환경설정파일
=>/etc/exports
NFS서버 설정 옵션 알맞은것
NFS클라이언트에서 접근하는 모든사용자의 권한을 nobody로 매핑시킨다
=>all_squash
NFS서버의 root_squash옵션
=>NFS클라이언트에서 접근하는 root사용자를 NFS서버상의 nfsnobody권한자로 인정한다.
NFS서버에서 익스포트된 정보를 확인
=>#exportfs
NFS클라이언트에서 NFS서버에 익스포트된 정보를 확인하려고 한다.
=>#(showmount) -e nfs_server
vsftpd.conf설정에서 최대접속자를 지정하는 항목값
=>max_clients
vsftpd.conf설정에서 하나의 IP주소 당 허용할 최대 접속수를 지정하는 항목
=>max_per_ip
/etc/vsftpd/ftpusers파일에 대한 설명
=>ftp서버에 접근할 수 없는 계정목록파일이다.
vsftpd.conf파일에 다음과 같이 설정하였다. 접속할 때 메시지를 전달하기 위해 사용자의 홈 디렉터리에 생성하는 파일명
dirmessage_enable=YES
=>.message
vsftpd.conf설정에서 접속한 사용자의 홈 디렉터리를 최상위 디렉터리로 지정하려고 할때 관련 항목
=>chroot_local_user
vsftpd서버에 접속한 내역윽 /var/log/wtmp파일에 기록하여 last명령으로 확인하려고 한다. vsftpd.conf파일에 설정하는 항목
=>session_support
SMTP프로토콜의 포트번호
=>25
서버에 도착한 메일을 클라이언트에서 직접 내려받아 읽도록. 내려받으면 서버에서 해당메일 삭제됨.
=>POP3
대표적인 MDA(Mail Delivery Agent)프로그램으로 메일박스에 도착한 메일을 대행해서 가져오거나 전달하는 역할을 수행.
=>procmail
리눅스에서 사용하는 POP3 및 IMAP서버프로그램
=>dovecot
발신도메인을 강제적으로 지정하기위해 sendmail.cf파일을 수정. 관련항목
=>Dj
메일서버에 사용하는 도메인을 등록하는 파일
=>/etc/mail/local-host-names
sendmail.cf파일 복원
=>#m4 ~~~~~
webmaster라는 계정으로 들어오는 메일을 고객지원센터에 속한 모든 사용자들에게 전달하고자 한다. 관련파일?
=>/etc/aliases
특정도메인으로부터 전송되는 메일을 거부메시지없이 무조건 거절.
#vi /etc/mail/access
From:spammer@spam.com. ( )
=>DISCARD
/etc/aliases파일 수정 후 실행해야하는 명령
=>newaliases
각 사용자 개인이 자신에게 들어오는 메일을 다른 메일주소로 포워딩하려고 한다. 이 경우에는 개인 사용자의 홈디렉터리에 ()파일을 생성하면 된다.
=>.forward
보낸메일의 전송상태를 확인하는 명령
=>mailq
named.conf파일에서 네임서버에 질의할 수 있는 호스트를 지정할 때 사용하는 항목
=>allow-query
존 파일에서 IPv6주소를 기입하기위해 사용되는 레코드 타입
=>AAAA
DNS서버의 데몬명
=>named
named.conf파일의 문법젖오류를 검사할 때 사용하는 명령
=>named-checkconf
CPU가상화기술
=>KVM
XEN
=>cpu전 가상화 , 반가상화 지원
XEN, KVM등으로 나누어서 운영되는 가상화 환경을 통합관리할때 유용한 프로그램
=>OpenStack
가상장치관리자를 실행하는 명령
=>virt-manager
가상머신운영을 위해 관련데몬 활성화
=>#service (libvirtd) start
가상머신을 관리해주는 도구로서 생성, 상태정보, 출력, 일시정지등의 기능을 제공
=>virsh
가상머신의 이미지파일이 저장되는 디렉터리
=>/var/lib/libvirt/images
IP주소가 AA인 호스트의 텔넷서비스를 차단하기위해 /etc/hosts.deny에 등록하려한다. 관련설정
=>in.telnetd: AA
xinetd에서 제공하는 기능
접속시간제한
DOS공격에 대비
IP주소 당 접속수 제한
아이디제한(X)