일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Direct12
- 타입 객체
- codility
- DirectX 12
- 병행성
- I/O장치
- 백준
- 그리디 알고리즘
- 그리디알고리즘
- 디자인패턴
- DirectX12
- 컨디션 변수
- 동적계획법
- 알고리즘
- 락
- 프로그래머스
- 멀티프로세서
- OS
- directx
- 병행성 관련 오류
- 영속성
- 다이나믹프로그래밍
- 멀티쓰레드
- 파일시스템 구현
- 렌더링 파이프라인
- 다이나믹 프로그래밍
- 쓰레드
- 자료구조
- 운영체제
- 스케줄링
- Today
- Total
기록공간
[리눅스 마스터 1급] 최신 기출문제 제1802회 오답노트 본문
PART1 (1~20)
#2
* 라이브러리 :
공통으로 사용하는 기능을 별도의 모듈로 만들어 사용하므로 중복을 최소화한다. (디스크 공간의 효율성)
* 가상 메모리 :
물리적 메모리의 용량 한계를 극복하기 위해 가상의 메모리를 할당한 후, 이를 실제 물리 메모리의 주소와 매핑하여 사용하는 방식이다. 프로그램은 가상 메모리 기법을 이용하여 고유의 메모리 공간에서 독립적으로 실행될 수 있다.
(독립적인 실행 및 메인 메모리 공간의 효율성)
#3
Vector Linux는 슬렉웨어 계열에 속하는 리눅스 운영체제이다.
Scientific, Oracle Linux는 레드햇 계열에 속하는 리눅스 운영체제이다.
#6
* $# : 스크립트에 전달되는 인자들의 개수를 담고 있다.
* $0 : 실행한 스크립트의 전체 경로명을 담고 있다.
* $1, $2, ... : 스크립트에 전달된 인자값을 순서대로 담는다.
* ${#문자열변수} : 문제열 변수에 저장된 문자열의 길이를 반환한다.
#7
* systemctl :
리눅스 서비스의 시작, 정지, 재시작 등을 제어하는 명령어로 CentOS 7 이후에 기본 명령으로 사용
* chkconfig :
런레벨별 서비스의 동작 방식을 설정하고 조회하는 명령어
* ntsysv :
텍스트 환경에서 커서를 이용하여 부팅 중 자동으로 실행되는 서비스를 설정할 수 있는 유틸리티이다. 옵션을 이용하여 특정 실행 레벨의 서비스 데몬을 설정할 수 있다.
* service :
리눅스 서비스의 시작, 정지, 재시작 등을 제어하는 명령어로 CentOS 6까지 기본 명령으로 사용된다.
#8
* '$(명령어)'의 형식을 이용하여 리눅스 명령어의 표준출력을 변수처럼 사용할 수 있다.
#10
* 데몬과 같이 서버 부팅 시마다 자동으로 실행되어야 하는 명령어는 /etc/rc.d/rc.local 에 기록하며, 부팅 시 가장 나중에 실행된다.
- 실행 레벨 0 : 시스템 종료 모드
- 실행 레벨 1 : 싱글(관리) 모드, 원격 로그인이 불가능하며 root 계정만 사용이 가능하다.
- 실행 레벨 2 : 멀티유저 모드, NFS를 지원하지 않음
- 실행 레벨 3 : 멀티유저 모드, NFS를 지원
- 실행 레벨 4 : 사용자 지정 레벨, 일반적으로 사용하지 않음
- 실행 레벨 5 : X 윈도우 환경의 멀티유저 모드
- 실행 레벨 6 : 재부팅 모드
* CentOS 버전 7부터는 실행 레벨이 아닌 target 유닛이 관리한다.
#15
* SIGHUP : 로그아웃 혹은 모뎀 접속을 끊는다.
* SIGINT : ctrl + c를 입력하면 발생하며, 프로세스를 종료한다.
* SIGQUIT : ctrl + q를 입력하면 발생하며, 코어 덤프와 함께 프로세스를 종료한다.
* SIGKILL : 프로세스를 즉시 종료시킨다.
* SIGTERM : 소프트웨어 종료 시그널로 트래킹이 가능하다.
* SIGCONT : SIGSTOP 혹은 SIGTSTP에 의해 정지된 프로세스를 다시 실행한다.
* SIGSTOP : 정지 시그널로 프로세스를 무조건 정지 시킨다.
* SIGTSTP : ctrl + z를 입력하면 발생하며, 프로세스의 실행을 정지시킨 후 다시 실행하기 위해 대기한다.
#17
* ip route 명령을 사용하면 게이트웨이 주소를 확인할 수 있음
* route 명령은 게이트웨이 주소를 포함한 정보를 출력
* netstat -r 명령으로 route 명령을 대신할 수 있음
* ethtool : NIC(Network Interface Controller)의 정보를 표시하고, 전송 속도 및 상태값 등을 설정한다.
#19
* /etc/resolve.conf : 요청할 DNS 서버를 지정할 때 사용하는 설정 파일
* /etc/sysconfig/network : 시스템 전체에 대한 기본 게이트웨이 주소, 호스트네임, 네트워킹 연결 허용 여부를 설정
* /etc/sysconfig/network-scripts : eth0(이더넷), lo(루프백) 등 시스템에 설치된 네트워크 인터페이스의 설정 정보 파일을 저장한다.
PART 2 (21~60)
#23, 24
* tar 명령어의 주요 옵션
- A(--concatenate) : 기존 압축파일에 tar 파일들을 추가(Append)한다.
- c(--create) : 새로운 파일을 만든다. 동일한 파일이 존재하면 덮어쓴다.
- d(--diff) : 압축 파일과 파일 시스템의 차이를 비교한다.
- r(--append) : 기존 tar 파일의 마지막에 파일을 추가한다.
- t(--list) : tar 파일 내 압축되어 있는 파일 목록을 출력한다.
- u(--update) : 파일 날짜를 기준으로, tar 파일 내 압축되어 있는 파일과 비교하여 더 최신의 파일일 경우 업데이트한다.
- x(--extract) : 압축된 파일을 압축해제한다.
* tar 명령어의 부가 옵션
- v(--verbose) : 진행 중인 파일 정보를 표시한다.
- f(--file) : 파일명을 지정한다.
- z(--gzip) : .tar.gz 형식으로 압축하거나 압축해제한다.
- j(--bzip2) : .tar.bz2 형식으로 압축된 파일을 읽거나 압축해제한다.
- J : .tar.xz 방식으로 압축된 파일을 읽거나 압축해제한다.
- Z : Compress를 이용하여 압축하거나 압축해제한다.
- G : 예전 GNU 형식으로 증분 백업을 수행한다.
- g : 새로운 GNU 형식으로 증분 백업을 수행한다.
#27
* /etc/skel :
사용자 계정이 생성될 때 해당 디렉터리의 내용들이 사용자의 홈디렉터리로 복사된다. 대표적으로 .bash_logout, .bash_profile, .bashrc가 있다.
* /etc/default/useradd :
useradd 명령 실행 시 참조하는 기본 정보 파일
#28
* passwd 명령의 주요 옵션
- -l : Lock. 계정을 잠금으로 로그인 불가능하게 설정
- -u : Unlock. 계정을 잠금 해제하여 로그인이 가능하게 설정
- -S : 계정 정보를 자세하게 출력
- -d : 계정에 설정된 암호를 제거하여 패스워드 없이 로그인이 가능하게 설정
- -n : 패스워드 변경 후 최소한 사용해야 하는 날짜 수를 지정
- -x : 패스워드의 최대 유효기간을 지정
- -w : 패스워드 만료 전 경고 날짜를 지정
- -i : 패스워드 만료 후 로그인이 불가능해질 때까지의 기간을 지정
- -e : 다음 로그인 시 패스워드를 무조건 변경하도록 강제
#30
* 디렉터리에 write 권한이 없다면 디렉터리 안에 파일에 write 권한이 있어도 파일 삭제가 불가능하다.
#34
* rpm 주요 옵션
- -i : 동일한 패키지가 설치되어 있지 않은 경우, 패키지를 새로 설치한다.
- -h : 설치 진행 상황을 # 문자로 표시한다.
- -U : 패키지 업그레이드, 기존에 패키지가 없다면 새로 설치한다.
- --force : 기존 패키지가 설치되어 있더라도 강제로 설치한다.
- -e : 패키지 삭제
- --nodeps : 패키지 설치, 업데이트 삭제 시 의존성을 점검하지 않는다.
- --test : 실제 작업을 수행하지 않고 문제점을 점검
#37
* info : 명령어에 대한 상세한 설명을 제공하는 명령어
* stat : i-node 번호, UID 및 GID, 링크 수, 접근시간, 수정시간, 변경시간을 확인할 수 있음
* touch : 파일의 시간 정보를 현재 시간으로 변경
#39
* w : 로그인한 사용자와 사용자가 수행 중인 작업 출력
* who : 로그인한 사용자 로그인명, 터미널, 로그인 시간 등을 출력
* whoami : 로그인한 사용자가 현재 갖고 있는 권한의 ID를 출력
* lslogins : 시스템 사용자의 정보를 출력
#49
* alsamixer는 여러 개의 사운드를 믹싱하는 GUI 프로그램이다.
#50
* scanadf : 자동 문서 공급 장치가 장착된 스캐너에서 다수의 사진을 스캔할 때 사용하는 명령어
* xcam : GUI 기반으로 평판 스캐너나 카메라로부터 이미지를 스캔해 주는 도구
* sane-find-scanner : USB 혹은 SCSI 스캐너와 관련 장치 파일을 찾아주는 명령어
#53
* dump : 파일 시스템 전체를 백업 및 복구할 수 있는 명령어
* rsync : 두 대의 호스트에 저장된 파일을 서로 동기화하는 서비스
* cpio(copy in and out) : 대상 파일들을 복사하거나 하나의 파일로 아카이빙 혹은 아카이빙 된 파일을 복원할 수 있다.
#55
* setfacl :
파일과 디렉터리의 ACL(Access Control List)를 관리한다. ACL은 리눅스 시스템의 자원에 사용자가 접근할 수 있는 권한을 설정하고 관리하는 기능이다.
* gpg :
OpenPGP를 이용하여 암호화 사인을 제공하는 명령어
* chattr :
파일과 디렉터리의 속성을 변경하는 명령어
* chcon :
SELinux에서 파일의 보안속성을 변경하는 명령어
#56
* dd : 데이터를 블록 단위로 변환 혹은 복사하는 명령어로 파티션이나 디스크 단위 백업에 사용할 수 있다.
#57
* Nessus : 시스템 취약점을 확인할 수 있는 취약점 스캐너 도구
* GnuPG : 공개키 방식의 암호화 기법을 사용하여 안전한 통신을 지원
* SELinux : 강제 접근 제어(MAC)를 포함한 접근 제어 보안 정책을 지원하는 리눅스 커널 보안 모듈
PART 3 (61~100)
#61
/etc/dhcp/dhcpd.conf 파일은 DHCP 데몬인 dhcpd가 사용하는 설정 파일이며, DHCP의 로그 메시지를 다른 곳으로 전달하려면 log-facility 항목을 이용한다.
#62
삼바 서버는 /etc/samba/smb.conf를 환경설정 파일로 이용하며, 각 공유 폴더(항목)별로 설정값을 지정한다.
* 삼바의 공유 폴더의 주요 설정 옵션
- [디렉터리 이름] : '[ ]' 사이에 공유 폴더 이름을 지정
- comment : 공유 폴더에 대한 설명
- path : 공유 디렉터리의 절대경로를 지정
- read only = yes : 읽기만 가능하도록 설정
- write only = yes : 쓰기 가능하도록 설정
- write list = [사용자명] : 쓰기 가능한 사용자를 지정
- valid users = [사용자명] : 접근 가능한 사용자를 지정하며 별도로 지정하지 않은 경우 전체 사용자가 접근 가능
- public = no : 개인 사용자만 사용할 수 있도록 설정
- browseable = no : 이용 가능한 공유 리스트에 표시되지 않도록 설정
- create mask = 값 : 파일 생성시 사용되는 기본 모드를 지정
- follow symlinks = no : 심볼릭 링크를 따르지 않도록 설정하여 잠재적인 보안위협을 제거
#63
LDAP(Lightweight Directory Access Protocol)는 디렉터리 서비스를 조회하고 수정하는 TCP 기반 응용 프로토콜이다.
#65
프록시 서버인 squid는 /etc/squid/squid.conf를 환경설정 파일로 이용한다.
* 주요 옵션
- cache_dir [옵션] : 캐시가 저장될 위치를 나타낸다.
- http_port [포트번호] : 사용할 포트 번호
- acl [별칭] src [IP 주소 대역] : acl로 별칭을 만든 후 접근 권한을 설정, http_access allow와 http_access deny를 통해 설정
- cache_mem [크기] : 캐시의 크기를 설정
- cache_log [로그 파일경로] : 로그 파일을 지정
#68
아파치 웹 서버에서 사용자별 홈페이지를 이용하려면 'mod_userdir.so'를 사용하고 관련 정보를 설정한다.
* httpd.conf 내용 중 'LoadModule userdir_module modules/mod_userdir.so 항목을 활성화(주석 처리 해제)한다.
* httpd.conf 내용 중 'Include conf/extra/httpd-userdir.conf' 항목을 활성화 한다.
* httpd-userdir.conf 내용 중 'UserDir [디렉터리명]' 항목을 수정한다.
#71
* ypbind : 바인드 정보를 관리하여 NIS 서버와 클라이언트를 연결
* yppasswdd : NIS 데이터베이스의 암호를 업데이트하기 위한 데몬
* ypxfrd : NIS 서버와 NIS 클라이언트 간의 맵핑 속도를 높여주는 데몬
* rpcbind : RPC 서비스를 사용하는 프로그램에 고유번호를 부여하고 서비스를 관리
#72
* /etc/yp.conf : NIS 바인드 정보를 관리하는 ypbind의 환경설정 파일
* /etc/ypserv.conf : ypserv를 위한 옵션을 저장
#73
* smbclient : 'smbclient [옵션] [호스트명]' 형식을 가지는 명령어로 윈도우 공유 폴더를 확인하고 접근할 수 있다.
* smbstatus : 삼바의 접속 정보를 확인하는 명령어
* testparm : 삼바의 설정 정보를 확인하는 명령어
* nmblookup : 삼바 서버의 NetBIOS 이름으로 IP 주소를 조회할 수 있는 명령어
#74
* rpcinfo : 메모리에 로딩된 RPC 기반 서비스 테이블을 관리하는 명령어. 서비스 테이블이란 프로그램과 포트번호를 매핑한 테이블을 의미한다.
* exportfs : NFS 서버의 익스포트된 디렉터리 정보, 공유 목록을 관리하는 명령어
* showmount : NFS 서버에 익스포트된 정보를 확인하는 명령어
* nfsstat : NFS 및 RPC 연결에 대한 통계 정보를 표시하는 명령어
#75, 77
* /etc/aliases : 메일의 별칭 혹은 특정 계정으로 수신한 이메일을 다른 계정으로 전달하도록 설정하며 보통 여러 사람에게 전달할 때 사용한다.
* /etc/mail/virtusertable : 가상의 메일 계정으로 들어오는 메일을 특정 계정으로 전달하는 정보를 설정
* /etc/mail/local-host-names : sendmail에서 수신할 메일의 도메인과 호스트, 즉 메일 수신자를 설정하며 sendmail을 다시 시작하여 적용한다.
* /etc/mail/sendmail.mc : 'm4 sendmail.mc > sendmail.cf' 와 같이 사용하여 sendmail.cf 파일을 생성한다.
* /etc/mail/access : 스팸 메일 방지 등을 위해 특정 IP 혹은 도메인으로부터 발송된 메일을 차단하는 데 사용한다.
'makemap hash /etc/mail/access < /etc/mail/access' 와 같은 방식으로 /etc/mail/access.db 에 적용한다.
* .forward : 특정 사용자가 들어오는 메일을 외부의 다른 메일로 전송하고 싶을 경우 생성하는 파일
* mailq : 메일 큐의 내용을 표시하는 명령어이다.
#78
DNS 서버의 리버스 존을 생성하여 IP 주소에 대한 도메인 정보 조회를 제공할 수 있다.
#82
* NFS(Network File System) : 원격 호스트의 공유된 경로를 로컬에서 사용할 수 있도록 지원하는 서비스
* NIS(Network Information Service) : 호스트명, 사용자명, 사용자 암호 등과 같은 시스템 정보를 검색하고 관리하기 위한 서비스
* LDAP(Lightweight Directory Access Protocol) : 디렉터리 서비스를 조회하고 수정하는 TCP 기반 응용 프로토콜
* Actice Directory : MS 윈도우 운영체제의 서비스로 LDAP 을 기반으로 인증 서비스를 제공한다.
#83
* ypwhich : NIS 서버 이름 출력
* yppasswd : NIS 데이터베이스 암호 변경
* yptest : NIS 도메인명, 맵 파일 정보, 계정 정보 등을 확인
* ypcat : NIS 데이터베이스의 모든 키의 값을 표시한다. 'ypcat hosts.byname'으로 호스트 관련 정보를 확인할 수 있고, 'ypcat passwd.byname'으로 사용자 관련 정보를 확인할 수 있다.
#84
/etc/vsftpd/ftpusers에 등록된 모든 계정은 접속 차단된다. vsftpd의 설정파일인 /etc/vsftpd/vsftpd.conf의 항목 중 'userlist_enable=YES'로 설정하면 ftpusers와 함께 user_list에 등록된 모든 계정도 접속 차단된다.
#88
* bind : DNS 서버의 기능을 제공하는 대표적인 소프트웨어로 'yum install' 명령어를 이용하여 설치할 수 있다.
* named : bind의 데몬 이름이다.
#89
zone 파일은 도메인 이름과 IP 주소 혹은 관련 리소스 간 매핑을 포함하고 리소스 레코드로 구성된다. 리눅스는 /var/named 에 zone 파일을 저장하며 named 데몬 실행시 참고한다.
#91
* VDI(Virtual Disk Image) : 버추얼박스에서만 사용 가능한 전용 디스크 이미지 형식
* VHD(Virtual Hard Disk) : 버추얼박스, Hyper-V, Xen에서 사용할 수 있는 디스크 이미지 형식
* VMDK(Virtual Machine Disk) : 버추얼박스, VMware Player에 사용할 수 있는 디스크 이미지 형식
* VMC : Microsoft Virtual PC에서 사용하는 가상머신 설정 파일 형식
#92
xinet 방식은 standalone 방식과 비교하여 사용자 요청에 대한 처리 시간이 느리지만, 다양한 서비스를 제한된 시스템 자원으로 운영하기에 효율적이다.
* CentOS 7의 경우 CentOS 6까지 xinetd 방식으로 이용하던 많은 서비스들이 단독 데몬으로 전환되거나 systemd에 의한 관리방식으로 통합되었다.
* systemd 방식은 socket 기능을 통해 효율적으로 메모리를 관리 할 수 있으며, 이에 따라 기존 xinetd를 통해 제공하던 rsync, telnet 등의 서비스가 systemd 방식으로 통합되었다.
#94
* NTP(Network Time Protocol)는 NTP 서버를 이용하여 시간을 동기화한다.
* ntpdate : ntpdate [서버주소] 명령 옵션으로 원격 서버와 시간을 동기화한다. -d 옵션을 이용하면 원격 서버와 시간 차이를 확인할 수 있다.
* date : 리눅스의 날짜와 시간을 확인하는 명령어
* rdate : 원격지의 타임서버에서 시간 정보를 가져와 로컬 시스템의 시간과 동기화하는 명령어
* ntpq : NTP 질의 명령어로 -p 옵션으로 연결된 서버의 상태를 출력
#96
* iptable : ip 차단 및 허용을 관리하는 명령어이다.
* CentOS 7에서는 firewalld를 기본 방화벽으로 사용하고 iptables 대비 편리한 사용성을 제공한다.
* 주요 옵션 항목
- -A : 새로운 정책을 가장 마지막에 추가/등록
- -I : 지정한 라인번호에 추가
- -D : 정책을 제거
- -R : 정책을 수정
* filter 테이블 체인
- INPUT : 호스트를 목적지로 유입되는 패킷
- OUTPUT : 호스트를 출발지로 하여 나가는 패킷
- FORWARD : 라우터로 사용되는 호스트를 통과하는 패킷, 즉 호스트 컴퓨터가 목적지가 아닌 패킷
'자격증공부 > 리눅스마스터' 카테고리의 다른 글
[리눅스 마스터 1급] 제 1902회 2차 실기 해설 정리 (0) | 2021.11.09 |
---|---|
[리눅스 마스터 1급] 제1901회 2차 실기 해설 정리 (0) | 2021.11.08 |
[리눅스 마스터 1급] 제1802회 2차 실기 해설 정리 (0) | 2021.11.05 |
[리눅스 마스터 1급] 제1801회 2차 실기 해설 정리 (0) | 2021.11.03 |
[리눅스 마스터 1급] 최신 기출문제 제1804회 오답노트 (0) | 2021.09.06 |