시험종목 : 제1502회 리눅스마스터 1급 2차
시험일자 : 2015. 11. 14(토) 14:00 ~ 15:40(100분)
바로가기 >> 리눅스마스터 기출문제 목록
단답식 1~10
답 : ① /etc/default/useradd ② /etc/skel
/etc/default/useradd
별도의 옵션없이 useradd 명령어로 계정 생성시에 기본적으로 적용되는 설정이 들어있는 파일이다.
/etc/skel/
useradd가 새로운 계정을 생성할때 /etc/skel/ 디렉토리의 내용들이 사용자의 홈디렉토리로 자동 복사된다.
답 : ① -N ② -t
# fsck -N -t ext4 /dev/sdb1
fsck (filesystem check)
파일 시스템을 검사하고 수리하는 명령이다.
사용법
# fsck [option] 장치명
옵션
-a : 명령 수행에 대한 확인 질문 없이 무조건 수행
-r : 명령 수행에 대한 확인 질문을 한다.
-A : /etc/fstab에 정의되어 있는 모든 파일 시스템을 체크한다.
-P : -A 옵션을 사용할 때, 루트 파일 시스템을 다른 시스템과 병령로 함께 체크한다.
-R : -A 옵션을 사용할 때 루트 파일 시스템은 체크하지 않고 건너 뛴다.
-N : 실행을 하지 않고 단지 어떤 것이 실행되어지는지만 보여준다.
-T : 검사를 시작할 때 제목을 보여주지 않는다.
-s : fsck 동작을 시리얼화한다. 대화형 모드에서 여러 파일 시스템을 점검할 때 유용하다.
-V : 실행되는 각 파일 시스템용 명령을 포함해 자세한 출력을 수행한다.
-v : 버전 정보를 보여준다.
-t fs_type : 점검할 파일 시스템의 유형을 지정한다.
nohup
사용자가 로그아웃하거나 작업중인 터미널 창이 닫혀도 실행중인 프로세스를 백그라운드 프로세스로 계속 작업할 수 있도록 해주는 명령어
&
백그라운드 프로세스와 가장 관련 있는 특수 기호
프로세스를 백그라운드로 실행
Shell 에서 명령어를 백그라운드로 실행하고자 할 경우에 사용되는 기호
백그라운드 프로세스는 말 그대로 눈에 보이지 않게 뒤에서 실행시키는 방식이다.
실행시키는 방법은 기존의 포그라운드 프로세스 실행 명령 뒤에 & 만 추가로 붙여서 실행한다.
rpm rebuilddb
리눅스 운영중에 rpm 패키지들의 정보를 저장하고 있는 데이터베이스가 손상되었을때 rpm 데이터베이스를 새롭게 생성하는 명령
특정한 패키지 설치 후에 rpm 패키지를 검색했으나 나타나지 않을 때 rpm 데이터베이스를 업데이트할 때 사용하는 명령
답 : ① modprobe 또는 insmod
② /etc/modprobe.conf 또는 modprobe.conf
modprobe
모듈적재 depmod에 의해 갱신된 modules.dep에서 찾아 적재한다.
insmod와 달리 해당 커널 디렉토리로 갈 필요없이 아무위치에서나 모듈을 적재할 수 있다.
insmod
커널에 모듈을 적재하는 명령으로 해당 모듈이 자동으로 검색되고 삽입된다.
모듈 관련 설정 파일
리눅스 커널 2.4 버전에서는 부팅 시에 특정 모듈을 커널에 적재할 때 /etc/modprobe.conf 파일에 등록해서 사용하였지만 커널 2.6버전부터는 /etc/modprobe.d 디엑터리 안에 .conf 로 끝나는 모든 파일을 인식힌다.
82 Linux swap / So
83 Linux
답 : ① rsyslog.conf 또는 syslog.conf
② *.warn 또는 *.warning
rsyslog 는 rsyslogd 데몬이 동작하면서 로그를 기록하고, 데몬의 동작은 /etc/rc.d/init.d/rsyslog 라는 스크립트를 이용한다. 관련 환경 설정은 /etc/rsyslog.conf 파일을 통해 제어한다.
/etc/rsyslog.conf
rsyslogd 데몬의 환경 설정 파일
기본 구성 형식 : facility.priority action
facility 의 종류 : corn, auth, authpriv, kern, lpr, mail, * 등
priority 의 종류 : none, debug, info, notice, warning, warn, error, err 등
action 의 종류 : file, @host, user, * 등
ex)
authpriv.* root
인증 관련 로그를 root 사용자의 터미널로 전송
authpriv.* /dev/tty2
인증 관련 로그를 /dev/tty2 로 전송
*.emerg *
모든 emerg 수준 이상의 문제가 발생하면 모든 사용자에게 메시지를 전달
*.warn /var/log/warn.log
모든 warn 수준 이상의 문제가 발생하면 /var/log/warn.log 에 기록
logrotate
로그 파일은 계속적으로 덧붙여지면서 쌓이는 형태라 파일의 크기도 계속 커지게 된다.
이를 방지하기 위해서 로그 파일을 여러개로 분할해 주는 프로그램이 logrotate 이다.
로그파일의 자동 로테이션 기능, 압축 기능, 제거 등을 지원한다.
각각의 로그파일은 하루, 일주일, 한달 단위로 로테이션을 할 수 있다.
현재 리눅스에서는 cron 에 의해 스케줄링 되어 실행되고 있다.
/etc/logrotate.conf 의 주요 설정
weekly : 로그 파일을 일주일마다 rotate 한다.
rotate 4 : 최대 4번까지 rotate 를 하는 설정으로 기본 logfile.1, logfile.2, logfile.3, logfile.4 형태로 생성된다.
create : rotate 를 한 후에 비어 있는 로그 파일을 생성하도록 설정하는 항목
답 : nosuid
# mount -o nosuid /dev/sdb1 /home
답 : ① delete ② -a 또는 archive
③ -v 또는 verbose (정답순서 무관)
rsync 네트워크로 연결된 원격지의 파일들을 동기화하는 유틸리티.
옵션
-r : 하위 디렉터리까지 실행
-l : 심볼릭 링크를 그대로 보존
-p : 퍼미션을 그대로 보존
-t : 타임스탬프를 그대로 보존
-g : 그룹 소유권을 그대로 보존
-o : 소유권을 그대로 보존
-D : 디바이스 파일을 그대로 보존
-H : 하드링크를 그대로 보존
-a : -rlptgoD를 한번에 실행할때 사용하는 옵션
-v : 진행상황을 자세히 출력
-u : 업데이트된 내용만 전송
-z : 전송할때 압축
delete : delete extraneous files from dest dirs
작업식 11~16
답 : ① ServerName
② ServerRoot
③ DocumentRoot
httpd.conf
아파치 웹 서버의 기본적인 설정을 담당하는 파일로 항목을 살펴보면 다음과 같다.
ServerRoot “/usr/local/apache” : 웹서버가 설치된 디렉터리를 나타낸다.
Listen 80 : 아파치 웹 서버의 포트를 나타내는 항목
ServerAdmin : 서버의 문제가 발생했을 경우 보낼 관리자의 이메일 주소를 적는다.
ServerName : 서버의 도메인 이름을 적는다.
DocumentRoot : 웹 문서가 위치하는 디렉터리를 나타낸다.
답 : ① /data/nfs ② rw ③ root_squash
/data/nfs 192.168.10.10(rw, root_squash)
NFS 서버 설정 옵션
/etc/exports NFS 서버 환경 설정 파일
설정법
공유할_디렉터리 허가할_호스트(옵션) [허가할_호스트(옵션)…]
옵션
ro : 읽기 전용으로 지정하는 옵션. 기본값
rw : 읽기 및 쓰기가 가능하도록 지정하는 옵션
root_squash
NFS 클라이언트에서 접근하는 root 사용자를 무시하고 서버상의 nobody( 또는 nfsnobody) 로 매핑시키는 옵션으로 기본값이다.
client가 root 라도 sever에 nobody로 mapping 함.
no_root_squash
NFS 클라이언트에서 접근하는 root 사용자를 무시하지 않고 root 로 인정한다.
client가 root면 server에도 root로 접근하게 함. 신뢰할 수 있는 사람에게만 허용할 것
all_squash
root 를 포함하여 모든 사용자의 권한을 nobody( 또는 nfsnobody) 로 매핑시킨다.
답 : ① listen_port ② local_umask ③ 20
/etc/vsftpd/vsftpd.conf : vsftpd 의 환경 설정 파일.
LISTEN_PORT (정수, TCP 포트 번호) : 인바운드 SMPP 클라이언트 연결을 수락하기 위해 바인드할 TCP 포트
local_umask=022 : 디렉터리나 파일 생성 시 퍼미션 값을 지정한다.
xferlog_enable=YES : 파일 업로드 및 다운로드 관련 로그를 기록할 것인지를 지정한다.
max_client : 최대 접속자를 지정하는 항목.
chroot_local_user=YES : 접속한 사용자의 홈 디렉터리를 최상위 디렉터리로 지정한다. 모든 접속자에게 적용된다.
ls_recurse_enable=YES : FTP 서버 접속 상태에서 ls -R 명령 사용시 하위 디렉터리까지 검색 가능 여부를 지정한다.
ftp_data_Port : 기본 20 port / tcp (FTP 데이터 송수신)
KVM
Qumranet 에서 개발한 하이퍼바이저로 x86시스템 기반으로 CPU 전가상화 방식을 사용한다.
QEMU 라는 CPU 에뮬레이터를 사용.
/var/lib/libvirt/images
KVM 기반으로 생성되는 게스트 머신의 가상화 디스크 이미지가 저장되는 파일
KVM 가상화 구동순서
# yum install kvm kmod-kvm
# service libvirtd start
# virt-manager
답 : ① restrict 192.168.0.0 mask 255.255.255.0
② server time.kriss.re.kr
③ server time.bora.net
④ ntpd
NTP(Network Time Protocol)
Network Time Protocol 의 약자로, 인터넷을 통하여 서버의 시간을 동기화 하는 방법
NTP는 컴퓨터간의 시간을 동기화 하는데 사용되는 프로토롤이다.
NTP는 여러 계층(stratum) 으로 구성된다. 최상위 계층에 해당하는 Stratum 0 는 세슘 원자시계, GPS 시계등과 같은 장치이다. Stratum 1 부터 Stratum 15 까지 15단계로 나누고 Stratum 16 은 비동기 장치를 나타낸다.
/etc/ntp.conf : NTP 서버의 환경 설정 파일
/etc/rc.d/init.d/ntpd : ntpd 데몬을 제어하는 데몬 스크립트 파일로 stop, start, restart 등의 인자값을 사용하여 제어한다.
/etc/ntp.conf 의 주요설정
driftfile /var/lib/ntp/drift
지역 시스템의 시간을 정확하게 유지하는 파일을 지정하는 항목으로 시간 오차의 평균값을 지정한다.
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
restrict 는 NTP 서버에 접근할 클라이언트를 제한할 때 지정한다.
server time.kriss.re.kr
server time.bora.net
기준이 되는 NTP 서버를 지정하는 항목이다.
답 : ① -p icmp icmp-type echo-request 또는 -p icmp icmp-type 8
② -p icmp icmp-type echo-reply 또는 -p icmp icmp-type 0
③ -p icmp icmp-type destination-unreachable
또는 -p icmp icmp-type 3
iptables 확장
리눅스 커널 2.2의 ipchains는 프로토콜 관련 정책 설정이 단순하였으나 iptables는 -p 옵션 뒤에 프로토콜을 지정한 뒤에 추가적으로 사용할 수 있는 옵션이 제공된다.
1.TCP 확장
먼저 -p tcp로 프로토콜을 지정하고 추가로 지정할 옵션을 사용한다.
옵션
sport : 발신지에서의 하나의 포트 또는 포트범위를 지정
dport : 도착지의 포트를 지정
tcp-flags : TCP flag를 지정하는 옵션
syn
2. UDP의 확장
먼저 -p udp로 프로토콜을 지정하고 추가로 지정할 옵션을 사용한다. 위에 열거된 TCP의 옵션 중에 sport 및 dport 를 지원한다.
3. ICMP의 확장
먼저 -p icmp로 프로토콜을 지정하고 icmp-type을 추가 옵션으로 지정한다.
많이 사용하는 ICMP 타입값에는 echo-request(8), echo-reply(0), destination-unreachable(3) 등이 있고 관련 정보는 ‘iptables -p icmp -h’를 입력하면 확인할 수 있다.
옵션
icmp-type : 숫자값 형태의 ICMP 타입값 또는 코드로 지정