-
리눅스 마스터 1급 기출 문제개발로그 2023. 3. 4. 22:13반응형
오답노트
dns bind
nis
서버 rpcbind 데몬
클라이언트 데몬 :ypindnfs ypbind
systemctl enable rpcbind nfs-server
/etc/networks 포트 번호 확인
1. /dev : 하드디스크, CD-ROM, 터미널 등 실제로 존재하는 물리적 장치 등 파일로 관리
- /dev/hda, /dev/sda
2. /etc : 시스템 환경설정 파일 및 부팅 관련 여러 스크립트 파일 저장 / 하위로 심볼릭 링크 설정 -> 절대 경로 입력 시
디렉터리 생략 가능
- /etc/grub.d 디렉터리 안 파일, /etc/default/grup : /etc/grub2.cfg(/boot/grub2/grub.cfg와 동일) 스크립트가 참
고하는 내용
- /etc/sysconfig/network : 시스템의 Hostname/Default Gateway 정보 지정 / NETWORKING 기록 가능
- /etc/sysconfig/network-scripts : 네트워크 인터페이스 환경 설정 관련 파일 및 스크립트 저장
- /etc/sysconfig/network-scripts/ifcfg-eth0 : IP주소 지속 이용을 위해 수정 해야하는 파일 / DNS, NAME,
PEERDNS 설정값 기록 가능
- /etc/inittab : 부팅 관련 실행레벨 정의
- /etc/init/rc.conf : 부팅 시 각 레벨별로 진행되는 내용 설정하는 파일
- /etc/rc.d/rc.local : 부팅 시 필요한 서비스 구동 시 해당 파일에 등록 / 실행레벨 2, 3, 5 중 가장 마지막에 실
행되는 파일 / MariaDB를 소스 파일로 설치하여 부팅 시 자동으로 관련 데몬 실행하도록 설정
- /etc/rc.d/init.d : 웹 서버 데몬 존재
- /etc/rc.d : 데몬 부팅 관련 정보 저장
- /etc/init.d, /etc/rc0.d~rc6.d : 데몬 실행 조절
- /etc/services : 포트번호 저장
- /etc/issue, /etc/issue.net, /etc/motd, /etc/nologin.txt : 로그인 메시지 관련 파일
3. /proc : 가상 파일 시스템으로 시스템에서 운영되고 있는 다양한 프로세스의 상태 정보, 하드웨어 정보, 기타 시스템 정
보 등 저장
4. /var : 시스템 운영 로그 파일과 스풀링 같은 가변적인 데이터 보관 / 허가권 갖는 파일들 존재
- /var/spool/mail : 메일 서버에서 도착한 메일이 해당 디렉터리의 하위 디렉터리에 존재
- /var/spool/cron : cron 설정 파일 등 저장(ihduser가 cron 작업 등록 시 /var/spool/cron/ihduser 파일 생성)
5. /lib
- lib/systemd/system : 시스템에서 사용되는 service 및 target 유닛 파일 확인 가능한 디렉터$chage 사용자 패스워드에 대한 정보 출력 및 설정
-M 특정 계정 사용자의 패스워드 만기일 지정
passwd 패스워드 설정/해지
charge 설정된 패스워드에 대한 정보출력/변경/etc/ld.so.conf 공유라이브러리
/lib 이외에 추가로 다른 디렉터리를 라이브러리 디렉터리로 등록하려고함
ldconfig : 공유라이브러리 정보 갱신
ldd : 의존 라이브러리 정보 출력exec 원래 프로세스를 새로운 프로세스로 대체 make distclean 강력한 초기화 grub grub 설정 /boot/grub2/grub.cfg 주요 환경 설정
- /etc/grub.d 디렉토리
grub 설정파일 /etc/default/grub -파일 (콘솔모드의 해상도 변경)
grup 패스워드 설정 etc/grub.d/00_header : root 패스워드 변경파일설치목록 yum history list rpm rpm -qf 특정 파일을 설치한 패키지를 찾음
rpm -U : 설치되어 있지 않으면 설치, 설치된것은 업데이트
rpm -F : 설치되어 있는것만 찾아서 업데이트/etc/group idh:x:1000:
그룹네임 : 패스워드(x로 표기되어 있으면 /etc/gshadow : GID
/etc/group 그룹
/etc/gshadow 그룹관리자 정보LVM pv- vg-lv 파브르 2개의 pV를 이용해서 lvm0 볼륨그룹생성 #vgcreate lvm0 /dev/sdb1 /dev/sdc1 메세지 전송 메세지 전송 *.=emerge :omusmsg:*
/var/log/critical 파일에 기록 *.=crit;kern.non /var/log/ciritical백업 rsync -av /home /users : 사용자의 홈디렉토리를 /users로 변경하기 위해 백업
tar : 별도의 파티션으로 분할되지 않는 특정 디렉토리 증분 백업
cpio : 증분x .많은양의 데이터, 장치파일 네트워크 파일등 특수 백업 가능 > <
dump / restore 파일시스템 백업 증분o
dd : 파티션 디스크 백업
rsync: 다양한기능GunPG 파일 전송시 암호화도구를 제공해서 파일의 내용을 확인할 때 지정한 사용자만 가능하게 함 DNS zone "." IN {
type (hint);
file "(named.ca)";
}
IN SOA(ns.도메인.) ( 관리자명.도메인.) 도메인 뒤에 . 붙이기
DNS서버 설치 : yum install bind
데몬 : named
파일 /etc/named.conf
acl(access control list) 구문 : 여러 호스트를 하나의 명칭으로 지정할 때 사용
---
패키지로 설치한 존 디렉토리 /var/named아파치 httpd-userdir.conf : 사용자의 홈디렉토리 설정
http -S 가상 호스트 정보 확인LDAP(디렉토리 access protocol c :국가
cn: 이름+성NIS 데몬 NIS : (썬) 네트워크 서비스 프로토콜, 사용자 및 호스트명의 정보를 다른 시스템에 제공
서버 rpcbind 데몬
클라이언트 데몬 :ypind
ypserv
ypxfrd
telenet, ssh, samba (dns와 관련x)
passwd.byname 사용자 정보 관련 저장 $ypcat passwd.byname
/etc/sysfoncif/network :서버 네트워크
/etc/yp.conf 클라이언트에서 nis서버 도메인 지정
nis 클라이언트
ypwhich
ypcat
yppasswdNFS 데몬 데몬 ypbind
showmount : mount 관련 정보
/etc/exports 공유 디렉토리 접근 관련 내용 설정삼바 서버 특정 디렉토리 공유 path - /home/data
smbclinet // 192.168.5.13/data : 윈도우 클라이언트로 접근
vaild users = userid, userid2메일 m4 /etc/mail/snedmail.mc > /etc/mail/snedmail.cf
메일 송수신 시 필요하 sendmail.cf생성proc/cpuinfo 인텔 cpu vmx
amd cpu svm
인vas가상화 virsh suspend VM1 : VM1 가상머신 일시정지
virsh : 가상화 명령어
libvirtd : 가상화 데몬
service libvirtd start
virt-top : 모니터링
KVM : QEMU 에뮬레이터 전가상화
XEN : 전, 반가상화 모두 지원 캠브릿지
SVM : AMD (as)
VirtualBox : oracle -제품
Openstack: 통합 ,나눠서 할때 유용squid (프록시관리) cache_dir ufs /var/spool/squid 100 16 256 : 캐시정보 디렉토리
http_port : 3218 포트번호 지정
acl posein src ip설정
http_access allow/denyntp ntpdate time.bora.net
tigervnc 윈도우 운영체제가 설치된 노트북에서
원격의 리눅스 서버에 접속하여 X 윈도 기반의 다양한 설정SELinux MAC네트워크 관련 규칙 : security 방화벽 lokkit suricata 침입 탐지시스템 /etc/defulat/useradd 추가할떄 디폴트 설정 modprobe -r modules 의존성까지 제거 -r uname -r 커널버전 확인 -r setfacfl 파일 , 디렉토리 접근 권한 제어 시스템 dmesg dmesg 결과 var/log/dmesg 기록
커널링버퍼 (부팅 출력 로그)/var/log/xferlog ftp 접속 로그 xinetd .환경설정파일
/etc/xinietd.conf
/varlog/xinetd.log
disable =no (텔넷서버활성화)
wait =yes(단일 스레드)X 윈도 KDE, GNOME, Xfce, LXDE raid 0:전체사용
1: 50프로 /미러링
Raid5 = N-1개
Raid6 = N-2개서브넷마스크 브로드캐스트 ~63 ~127 ~191 ~255 ss socket statistics 소켓상태 출력/포트o
netstat :포트x/usr/bin/wall SET UID, set GID권한 $usermode -l (login계정변경)
-n은 없음sed stream editor $mdadm raid장치 파일 생성 $mdadm -C 핑 응답하지 않음. sysctl -w net.ipv4.icmp_echo_ignore_all=1 ssh root 차단 PermiRootLogin no tar 로그 -g 증분백업
-N 부분 백업/var/log/dmesg cat명령어로 확인가능
lastlog, btmp, wtmp암호화XFS에서 불가능한 백업 프로그램 dump pam ssh서버에 접근하는 사용자의 목록파일을 만들어서 지정한 사용자들만 이용 Ansible 레드헷, 프로비저닝, 배포 취약
nfs
nis
GRUB
백업
네트워크
DNS
가상화 종류
lddList Dynamic Dependencies실행가능한 파일의 라이브러리 의존성 확인 명령어ldd [옵션] 파일명gruop 사용자의 소속변경 newgrp
그룹 자체 변경 groupmodnice프로세스의 우선순위 조절기본값 0-20~19범위에서 설정 가능음수일 수록 우선순위가 높음.ex) nice --10 bashex) nice -n 10-p 1234crontabcrontab -r 크론탭 설정 삭제(remove)crontab -e u lin : lin 사용자의 crontab 설정 편집crontab -r u lin : line사용자의 예약된 cron작업을 삭제crontab 설정* * * * * command- - - - -| | | | || | | | ----- 요일 (0 - 6) (0은 일요일)| | | ------- 월 (1 - 12)| | --------- 일 (1 - 31)| ----------- 시 (0 - 23)------------- 분 (0 - 59)30 5 * * 1 /home/user/restart.sh 매주 월요일 오전 5시 30분
# 매분 test.sh 실행
* * * * * /home/script/test.sh
# 매주 금요일 오전 5시 45분에 test.sh 를 실행
45 5 * * 5 /home/script/test.sh
# 매일 매시간 0분, 20분, 40분에 test.sh 를 실행
0,20,40 * * * * /home/script/test.sh
# 매일 1시 0분부터 30분까지 매분 tesh.sh 를 실행
0-30 1 * * * /home/script/test.sh
# 매 10분마다 test.sh 를 실행
*/10 * * * * /home/script/test.sh/etc/fstabusrquota : User Disk Quota (쿼터)사용자별 디스크 용량 제한/etc/fstab 파일에서 usrquota 옵션을 4번째 필드에 추가/dev/sdb5 /qouta-test ext4 default, usrquota 1 1/dev/sda1 /home/user1 ext4 defaults,usrquota 0 0(옵션 설명)/dev/sdb5 : 마운트할 블록 장치의 경로 (하드디스크 5번째 파티션)/qouta-test : 마운트할 디렉토리의 경로 (사용자의 홈 디렉토리)ext4 : 마운트할 파일 시스템의 유형default, usrquota : 사용자별 디스크 용량 제한 활성화1 1 : 마운트시 파일 시스템 검사여부와 마운트시 우선 순위를 지정하는 두개의 숫자.0은 비활성화, 1은 활성화
uquota :유저 디스크 쿼터
usrquota : 유저 별 최대 파일 시스템 디스크 할당량umask
User Mask파일 생성 시 파일 권한을 제어하기 위한 명령어
파일권한에서 뺼 값을 설정
사용자의 환경 설정 파일인 .bashrc 파일에서 설정.
ex)umask 022
새로운 파일 : 644로 설정 (666-022 = 644) rw-r--r--
새로운 디렉토리 : 755로 설정 (777-022 = 755)
ex)umask
마스킹값없이 umask만 입력시
현재 파일 생성 권한의 마스킹 값이 출력됨파일, 디렉토리 권한 rwx 값 설정
r 4 읽기
w 2 쓰기
x 1 실행
디렉토리에 x실행 권한이 없으면 접근을 못함
파일이 x 권한이 없으면 실행할 수 없음.
순서대로 소유자(User),그룹(Group),기타사용자(Other) UGO~
읽기 : 파일을 읽기, 디렉토리 접근
쓰기 : 파일 수정, 디렉토리 내의 파일, 디렉토리 생성/삭제/이동 가능
실행 : 파일 실행, 디렉토리 내의 파일, 디렉토리 검색$newgrp $newgrp [그룹명]
현재 쉘에서 실행중인 프로세스들도 새로운 그룹으로 소속
현재 로그인되어있는 세션의 GID변경
+
$groups : 현재 사용자가 속한 그룹 정보 확인$passwd $passwd -d [유저명]
패스워드 삭제해서, 패스워드 없이 로그인이 가능 .
-d :패스워드삭제
-e :패스워드 만료 ( 다음 로그인 시 패스워드 변경)
-l : lock을 걸어 로그인 금지shell 쉘
사용자와 커널 사이에 있는 계층.
사용자가 명령어나 프로그램을 입력하면 실행시켜주는 인터프리터
ex) bash, zsh
로그인 쉘
로그인할 때 실행되는 쉘
로그인할 때 실행되는 쉘의 경로는 /etc/passwd에 유저별로 저장되어 있음.
로그인 쉘 환경변수
파일 : /bin/bash, /bin/zsh 또는 /bin/sh
PATH , HOME, SHELL, LANG/etc/passwd 사용자 계정 정보를 저장하는 파일
패스워드는 /etc/shadow$useradd 유저 추가 kill $kill -l 시그널 목록 출력
$kill -9 강제 종료$fg 백그라운드에서 실행중인 작업을 포어그라운드로 전환
ex)
$fg 최근의 잡을 전환
$fg %3 잡 번호가 3을 전환
$fg 3 잡 번호가 3을 전환
잡 번호 확인
$jobs$groupmod 그룹 속성을 변경할 때 사용
$groupmod -n [NEW그룹명B] [OLD_그룹명A]
그룹A를 그룹B로 전환
-n은 네임$w
$who현재 시스템에 로그인한 사용자 목록 출력 명령어
$w는 ip,터미널에서 마지막 입력시간, 누적 cpu사용량, 현재 cpu사용량 , 현재 명령어까지 출력
$who는 단순하게 사용자 이름, 터미널 번호, 로그인 시간 만 나타냄$du
Disk Usage특정 파일 또는 디렉토리의 디스크 사용량
ex) du -h [디렉토리]$df
Disk Free파일 시스템의 디스크 사용량 파일 출력 명령어 $cat
$head
$tail
$more
$less$head 파일의 처음 몇줄 출력
-n : 출력할 행 수 default 10$tail 파일의 끝 몇줄 출력
-n (--lines):출력할 행 수
-f (--follow):변동된 내용 있으면 출력
ex) tail -f -n 20 log.txt 20줄 출력하고 파일의 내용이 변경될때마다 추가로 출력
todo.추가는 몇줄인지
ex) head -7 lin.txt | tail -4
앞에서부터 7줄을 출력하고 그 중에서 마지막 4줄 출력
결과는 4~7줄 출력sshd 허가 192.168.56.0 네트워크 대역
192.168.56. < 설정zone도메인 @
게이트웨이 주소 할당
dhcpd.conf
option routers [ip]커널 OS와 하드웨어의 중재자
하드웨어의 자원(프로세서,메모리,네트워크,디스크) 관리
쉘,GUI,응용 프로그램과 하드웨어간의 통신 관리
시스템의 모든 작업에 대한 제어권이 있음fdisk
Fixed Disk디스크 파티션을 설정하거나, 파티션의 정보를 확인
root권한 필요
$fdisk -l 모든 하드디스크의 파티션 정보 출력
$fdisk -n 새로운 파티션 생성
-d : 파티션 정보를 덤프뜨기/etc/fstab fstab
File System Table
부팅할 때 자동으로 마운트되는 파일 시스템에 대한 정보를 포함
디스크와 파일 시스템 관리하는데 중요zone 메일 서버 지정 MX 0 CUPS Common Unix Printing System
인쇄기능 제어 소프트웨어
유닉스,리눅스
웹기반
여러대의 프린터를 네트워크 상에서 공유하여 사용할수 있도록 함.
system-config-printer 를 통해 프린터 추가$uname 시스템의 커널 및 하드웨어 정보 출력
-a 모든 정보 출력
-r 커널 버전 출력 (kernel release)$setfacl 파일 시스템 보안 명령어
File Access Control List
파일이나 디렉토리에 대한 Access Control List 를 설정하는 명령어
-m --modify
-x --remove
-R --recursive 디렉토리 내부까지 ACL수정
ex) setfacl -m u:user2:rw, g:group2:rw /home/user1/test$getfacl 파일 시스템 보안 명령어
파일이나 디렉토리에 대한 ACL을 확인하는 명령어
ex) getfacl /home/user1/test$nmap
Network Mapper리눅스 보안 도구 /네트워크 탐지
$nmap -p [port] [host range]
ex)nmap -p 22 192.168.0.1-254
해당 호스트 사이에서 22번 포트가 열려있는 호스트를 찾는 명령어
방화벽이나 보안장치가 있으면 막힐 수도 있음.
todo$nessus 네트워크 취약점 진단 도구
Nessus Network Scanner
$nessuscli scan --hosts=192.168.0.1
해당 호스트의 네트워크 취약점 진단
todo$tripwire 파일 및 디렉토리 변화 감지
시스템에 불법적인 침입이 있을 경우 변화가 생긴 파일을 감지 할 수 있음.
$tripwire --check --directory /etc$tcpdump 네트워크 패킷 캡쳐 및 분석 도구
트래픽 분석
$tcpdump -i eth0 icmp
eth0 인터페이스에서 ICMP 패킷을 캡쳐하는 명령어/var/log/xferlog FTP서버의 전송로그 기록
사용자이름 , IP주소, 전송 유형(다운로드or업로드),파일이름,파일크기, 전송시간/var/log/wtmp
Writable Terminal multiplexor접속, 재부팅 기록 로그
todo$last /var/log/wtmp 에 기록된 로그 출력 /var/log/btmp
Bad Login Attemps log로그인 시도에 대한 실패 기록 저장 /var/log/lastlog 모든 사용자의 마지막 로그인 정보 /var/log/message 시스템 로그 메시지를 저장하는 기본 로그 파일
시스템 시작 및 종료 , 데몬 시작 종료, 시스템 오류등의 다양한 이벤트 기록
주기적으로 백업필요sudo sudo :일시적인 권한 상승
sudo su :일시적으로 root권한으로 변경
su: root로 변경 로그인sudo root사용자 권한을 가지게 해줌
설정파일 : /etc/sudoersdmesg
Display Message리눅스 커널이 부팅할 때 발생한 최근 메세지 출력
/var/log/messages
/var/log/syslog$dd 데이터 덤프
data duplicator$cpio Copy Input/Output
큰 규모의 데이터 압축 백업, 파일 시스템 복원 , 데이터 전송$dump 전체 파일 시스템을 아카이브/백업
파티션단위로 백업 , 롤백
<-> $restore$rsync remote synchronization
로컬<->원격 파일 시스템간의 파일, 디렉토리 복사 , 백업, 동기화
변경된 것만 동기화
로컬<->로컬
root권한 불필요$scp SSH 프로토콜 사용해서 원격 호스트에 암호화 연결 $mysqld
$mysqlmysqld : 서버 데몬 관리
mysql : db 클라이언트 인터페이스가상화 SVM : AMD
VT-x : Intel
VDI : Oracle
VMX : Intelnfs
Network File System/nfsdata
네트워크 파일 시스템에서 공유되는 파일세스템의 마운트 포인트
/etc/exports에 등록 후 $exportfs 명령어 사용해서 공유
ex) /nfsdata 192.168.0.1
클라이언트에서는 mount명령어를 사용하여 NFS 서버의 디렉토리를 마운트하여 사용
ex) mount -t nfs 192.168.0.1:/data /mnt/etc/named.conf DNS 서버에서 사용되는 설정
zone파일이 위치하는 디렉토리 지정 ex ) directory "/var/named";웹서버 Nginx
Apache
GWS
IIS$httpd 아파치 웹서버 시작 종료
-t : httpd.conf의 문법적 오류 검출
httpd.conf
ServerRoot 아파치 웹서버의 루트 디렉토리 /etc/httpd - 로그파일,..웹서버 관련 파일
Listen IP와 포트 바인딩
DocumentRoot 웹문서 디렉토리 /var/www/html - HTML, CSS, 이미지
Directory : 특정 디렉토리 옵션
AllowOverride : .htaccess파일을 사용하여 웹서버의 설정 변경가능 여부 설정
ErrorLog : 아파치 오류 로그
CustomLog : 접근 로그
DirectoryIndex : 디렉토리 접근했을 때 보여줄 파일 이름
VirtualHost : 가상 호스트 설정LDAP 계층형 디렉토리 정보 검색 수정
Lightweight Directory Access protocal
cd : 이름과 성의 조합NIS 네트워크 상에서 분산되어 있는 서버를
하나의 서버에서 계정/패스워드 관리
passwd.byname : 사용자 정보 저장 파일
설정 파일 /etc/yp.confzone 도메인 www.naver.com
관리자 계정 primary
primary.www.naver.com가상화.... xinetd 텔넷서버 활성화
disable=noTCP wrapper squid(프록시) Web Client <----> Proxy Server <---> Web Server NTP 서버 시간 동기화 서버
계층 : Stratum
Network Time Protocol아파치 Listen 8080 삼바 서버 SMB, CIFS 프로토콜 사용
리눅스 시스템에서 윈도우 클라이언트로 파일, 프린터, 인증서비스를 제공하는 SWvsftpd Very Secure FTP Daemon
FTP 서버 프로그램
/etc/vsftpd/ftpusers 접근 차단 사용자 계정 지정메일 프로토콜 SMTP 메일 발송 포트25
POP3 메일 수신 포트 110
IMAP 메일 수신포트 143메일 명령어 m4
mailq :메일 큐 확인 (메일 전송여부 확인)
mail : 메일 전송
-v :전송할떄 디버깅 정보 출력
sendmail : 메일 송수신네트워크 /etc/hosts 호스트이름과 IP 주소를 매핑 ex)192.168.01 www.naver.com
/etc/networks 네트워크 이름과 IP대역을 매핑
/etc/sysconfig/network 네트워크 인터페이스와 호스트 이름 등의 설정
/etc/resolv.conf : DNS 서버 주소 설정DNS 레코드 유형 RT : Route Through
MX : Mail Exchange
PTR : Pointer - 리버스 존 파일에만 사용하는 레코드 타입 (IP 기반으로 도메인 이름 반환)
CNAME : Canonical Name가상머신 GUI 프로그램 virt-manager VNC 리눅스 서버와 윈도우 클라이언트 간의 데스크톱 공유
Virtual Network Computing/etc/hosts.deny 특정 호스트 파일 차단
sshd: 192.168.0.1
호스트 기반 액세스 제어/etc/ssh/sshd_config SSH서버의 구성 설정 /etc/sysconfig/iptables 방화벽 구성
-A INPUT -p tcp --dport ssh -j DROP
패킷 기반의 액세스 제어/etc/sysconfig/selinux SELinux 보안 정책 설정 SELinux Security-Enhanced Linux 리눅스 커널에 내장된 보안 모듈 iptables 리눅스 시스템에서 네트워크 패킷 처리 방화벽 도구
filter : 패킷 필터
nat : ip 주소 , 포트 변환
mangle : 성능향상을 위한 패킷 데이터를 변경하는 특수 규칙 적용
raw : 추적
로그 /var/log/messages네트워크 침해 유형 Teardrop Attack : 패킷 시퀀스 넘버 조작해서 과부하 시킴
Land Attack : 자신의 IP주소로 패킷을 보내게 loof back상태를 만들어 시스템 다운
Smurf Attack : 대량으로 패킷 전송 (요청자의 IP변조 - IP Spoolfing)
TCP SYN Flooding : syn 패킷을 대량으로 보냄. (서버는 ack 를 기다리고 있음)DDos $test 조건문 분기식
결과 0: true
1 : false
echo $? :마지막 명령어의 결과$systemctl 리눅스 부팅, 로그인, 데몬관리 담당
서비스 시작, 중지, 재시작, 활성화, 비활성화, 상태 확인 등 작업 수행
ex) systemctl set-default graphical.targetexec
fork
nohup
watchexec : 실행중인 프로세스 종료 후 , 새로운 프로세스 실행
watch : 주기적으로 명령어를 실행하고 그 결과를 출력$ss ss : Socket Statistics 현재 시스템에서 열린 소켓의 상태를 보여주는 명령어(tcp, udp)
PORT
$netstat 현재 네트워크 연결 정보 (PID)
$route IP라우팅 테이블 관리
gateway$arp Address Resolution Protocol
ARP캐시 테이블 관리
address$ip addr show [네트워크카드명] $ip addr show enp0s8 /etc/log.defs 패스워드 암호 알고리즘 /etc/skel 새로운 계정 생성시 홈디렉토리 세팅 정보 /etc/default/useradd 새로운 계정 생성시(useradd명령어) 기본 세팅 정보 /usr/bin/wall /usr/sbin/useradd 대용량 파일 압축 효율성 xz > bzip2 > gzip $killall ex)killall firefox
firefox 이름을 가진 모든 프로세스 종료$pgrep ex)pgrep -u username firefox
firefox 이름을 가진 프로세스 ID검색$ln -s [원본] [심볼릭] $tar 압축
j : bzip2 사용
t : 압축 파일의 내용 확인 (detail)
v : 작업을 상세 하게 출력
f : 파일 이름을 지정텍스트 처리 $tr : 문자열 변환 , 치환 (translate)
$cut: 구분자로 데이터 분리 , 추출
$sed : 문자열 검색 , 편집,( SEARCH, EDIT ) stream editor
$split : 파일 분리
$awk : 레코드 선택 , 레코드 포함된 값 조작하거나 데이터화$ivcreate LVM Create 명령어
Logical Volumn Manager
논리 볼륨 생성 명령어
-L [볼륨크기]
-n [이름]$depmod 커널모듈 - 종속성 업데이트 $insmod 새로운 커널 모듈 로드 $modules 커널 모듈의 로드 상태를 확인 $modprobe 커널 모듈을 로드하고, 모듈간의 종속성을 자동으로 처리 로그 emerg > alert > critical 명령어 재실행 al이 들어간 최근 명령어 재실행 : !?al?
직전 명령어 실행 : !!시그널 SIGTSTP 20
SIGQUIT 3
SIGINT 1raid grub 부트로더
grub2-mkconfig : 설정 파일 업데이트
grub2-install : grub설치
grub2-probe : 명령줄 도구 파일 검색 위치
grub2 : /boot/grub2/grub.cfg로그파일 ㅇ 항목구분 : 로그이름 | 로그 파일명 | 관련 데몬 | 설명
ㅇ 커널 로그 : /dev/console | kernel | 콘솔에 뿌려지는 로그
ㅇ 시스템 로그 : /var/log/messages | syslogd | 리눅스 커널로그 및 주된 로그
ㅇ 보안 로그 : /var/log/secure | xinetd | 보안 인증 관련 로그
ㅇ 메일 로그 : /var/log/maillog | sendmail popper | 메일 로그(sendmail에 의한 로그)
ㅇ 크론 로그 : /var/log/cron | crond | crond에 의한 로그
ㅇ 부팅 로그 : /var/log/boot.log | kernel | 시스템 부팅시의 로그
ㅇ 커널 부트 메시지 로그 : /var/dmesg | kernel | 부팅될 당시의 각종 메시지들 저장
ㅇ 커널 로그 : /var/log/wtmp | kernel | 시스템 전체 로그인 기록 저장
/var/log/utmp | kernel | 현재 로그인 사용자에 대한 기록, 사용자 ip 저장
ㅇ FTP 로그 : /var/log/xferlog | ftpd | ftp 로그
ㅇ 웹 로그 : /var/log/httpd/access_log | httpd | 아파치(웹서버) 로그 저장
/var/log/httpd/error_log | httpd | 아파치(웹서버) 에러 저장
ㅇ 네임서버 로그 : /var/log/named.log | named | 네임서버(DNS) 로그커널모듈 depmod : 커널 모듈의 의존성을 관리하는 명령어
insmod : 커널에 모듈을 적재 (insert module)
rmmod : 커널에 적재된 모듈을 제거, 사용중인 모듈은 제거 불가
modprobe : 커널에 모듈을 적재 또는 제거할 때 사용하는 명령어
lsmod : 커널에 적재된 모듈 정보를 출력커널 컴파일 파일명 Makefile : 어떤 조건으로 명령어를 실행할지 담은 파일
ㅇ .config : 결과 파일
ㅇ Kconfig : k(쉽게) 커널 컨피그
ㅇ configure : 기본 환경 파일, 소스 위치커널 컴파일 명령어 make mrproper → make menuconfig → make bzImage
초기화 -> 설정 -> 이미지 파일 생성프로세스 명령어 kill -9 [pid]
pkill [process name]
pgrep [process name]gcc gcc > a.out
gcc -c > .o
gcc -s > .s
gcc -o > output지정tar -c : 새 저장 파일을 생성
-x : 저장된 것에서 품
-f : 저장 파일 혹은 장치 파일 F에 저장
-j : bzip2 필터를 사용하여 .bz2 파일을 푼다
-v : 처리중인 파일을 자세하게 보여준다계정 정보 파일 /etc/skel : useradd로 사용자를 새로 추가 할 때 참고하는 기본 디렉토리
ㅇ /etc/passwd : 시스템에 등록된 사용자의 정보들이 담겨있는 파일
ㅇ /etc/login.defs
login.defs는 리눅스 각 계정의 UID, GID, 패스워드 정책 등을 설정할 수 있는 config 파일
ㅇ /etc/default/useradd : useradd 명령어가 참조하는 파일파일관련 명령어 ls : 파일 리스트 출력
ㅇ touch : 파일의 날짜와 시간을 수정하는 명령어이긴 하지만, 0바이트 파일을 생성하기 위해 자주 사용되는 명령어
ㅇ stat : stat 명령어는 디렉터리나 파일의 상세 정보를 표시하는 명령어
ls 명령어로는 표시되지 않는 정보를 확인할 때 쓰임
ㅇ file : 파일의 유형을 알려주는 명령어리눅스 kali : 보안,해킹
rocky : 레드헷 , 기업
arch : x86-64
ubuntu : 캐노니컬 , 데비안인물 리누스 토발즈 : 리눅스
켐톰슨 : 유닉스
앤드루 S.타넨바움 : MINIX
리처드 스톨만 : GNU, NPL
빌조이 : BSD, Sun라이센스 BSD : Berkely Software Distribution 버클리 대학에서 개발한 SW배포 라이센스 - 상업적 이용 허용. 파생물 소스 코드 공개 안해도 됨.
GPL : GNU General Public License 자유롭게 사용 가능. 파생물 역시 GPL로 공개
MPL : Mozilla Public License 상업, 개인 용도 가능.. 파생물도 MPL로 공개
LGPL : Lesser GNPL , GPL의 수정 버전. 상용 소프트웨어와 함께 사용할 수 있음.패키지 관리 도구 레드헷 (CentOS) : RPM, YUM, dnf
데비안 : apt, dpkg
pacman-아치RMP
(RedHat Package Manager)CentOS 소프트웨어 패키지 설치 , 업데이트 및 제거Debian계열의 우분투는 dpkg를 사용.(리눅스 시험은 CentOS라서 이건 나올 리 없음)-q : 질의 기본 옵션, 패키지 이름과 버전, 릴리즈 간단한 정보-l : 패키지 목록 출력-lp : 설치 파일 경로 확인
-i : 패키지 설치
-U : 업그레이드
-F : 패키지 업데이트YUM
(Redhat)yum install [pkg name]
yum update [pkg name]
yum remove [pkg name]
yum search [keyword] - 모든 패키지 검색
yum list
yum info [pkg name]- 상세 info
yum check-update : 업데이트 가능한 패키지 목록
yum clean : 캐시,로그,다운로드한 패키지 파일 삭제
yum은 종속성 패키지를 자동으로 설치해서 편리함. (RPM업그레이드 버전)
RPM은 종속성 패키지는 수동으로 설치 - 특정 소프트웨어 버전을 사용해야할 때 유용$tar 압축
-c : 지정한 파일이나 디렉터리를 하나로 묶어 새로운 tar 파일 생성
-x : 생성된 tar 파일을 풂
-v : 어떤 명령 실행 시 대상이 되고 있는 파일들을 보여줌(--verbose)
-f 파일명 : 작업 대상이 되는 tar 파일의 이름 지정
-r : 기존의 tar 파일 뒤에 파일 추가
-t : tar 파일 안에 묶여 있는 파일의 목록 출력 / 압출 풀지 않고 내용만 확인
-Z : compress 관련 옵션 / tar.Z에 사용
-z : gzip 관련 옵션 / tar.gz에 사용
-j : bzip2 관련 옵션 / tar.bz2에 사용
-J : xz 관련 옵션 / tar.xz에 사용
* tar jtvf php-7.4.2.tar.bz2 : 묶여 있는 소스 파일을 현재 디렉터리에 풀지 않고 내용만 확인압축 효율성 xz > bzip2 > gzip> compress$gcc gcc > a.out
gcc -c > .o
gcc -s > .s
gcc -o > output지정커널
$make<명령어>
$make menuconfig : 메뉴를 통해 옵션을 선택할 수 있음.
$make mrproper : 재 컴파일 하기 전에 현대 빌드 디렉토리에서 제거해야하는 모든 파일 제거(이전 커널 컴파일 파일)
$make modules : 모듈 빌드
$make clean : 이전 커널 빌드에서 생성된 파일은 삭제하지 않음.
$make modules_install : 모듈 설치
<파일>
Makefile : 어떤 조건으로 명령어를 실행할지 담은 파일
ㅇ .config : 결과 파일
ㅇ Kconfig : k(쉽게) 커널 컨피그
ㅇ configure : 기본 환경 파일, 소스 위치
<순서>
make mrproper → make menuconfig → make bzImage -> make modules > make module_install > make install
초기화 -> 설정 -> 이미지 파일 생성커널 모듈 명령어 depmod : 커널 모듈의 의존성을 관리하는 명령어
insmod : 커널에 모듈을 적재 (insert module)
rmmod : 커널에 적재된 모듈을 제거, 사용중인 모듈은 제거 불가
modprobe : 커널에 모듈을 적재 또는 제거할 때 사용하는 명령어
lsmod : 커널에 적재된 모듈 정보를 출력프린터 lp, cancel, lpstat사운드카드 OSS, ALSA스캐너 SANE(API), XSANCE, xcam
$scan-find-scanner
$scanimage
$scanadfLVM 용량 $lvextend -L [사이즈]
$lvscan : 스캔
$vgcreate : 볼륨그룹생성RAID $mdadm시그널로그 파일모듈 파일 형식 .ko게이트웨이 주소 값 (마스킹)직전 명령어
bg <->fgsystemctl명령어
grub
보안 방법 (tripwire, nessus)
백업 명령어 (cpio, dump, restore , dd)
password 명령어
시스템 명령어 (WALL, WRITE, MAIL, MESG)
디스크쿼터 /etc/fstab quota, uquota
crontab
사용자 로그인 패스워드 계정 정보 파일
유저 권한 rwx
ln -s , ln (디렉토리는 하드링크 설정 불가)
파일관련 명령어 (ls, touch, stat, file)
리눅스 패키지 관리법 (rpm,yum, dnf- 레드햇, )
보안ddos공격
iptables 명령어
http STATUS CODE
아파치 CONFIG값
메일 프로토콜+포트
기출 3개 + 요약 반복
수 2022 03
목 2021 1차
금 2021 2차
반응형'개발로그' 카테고리의 다른 글
CDN (0) 2023.08.20 [WEB] DNS (0) 2023.02.01 aws rds에서 slow query 확인 (0) 2022.07.13 HTTP Status Codes (0) 2022.06.07 postgresql / pgsql sequence 값 변경하기 (0) 2022.05.16