ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 마스터 1급 기출 문제
    개발로그 2023. 3. 4. 22:13
    반응형

     

    오답노트

    dns bind 

    nis
    서버 rpcbind 데몬 
    클라이언트 데몬 :ypind 

     

    nfs 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 
    yppasswd
    NFS 데몬 데몬 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/deny
    ntp ntpdate time.bora.net
     
    Stratum계층 
    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

    가상화 종류 

    ldd
    List Dynamic Dependencies
    실행가능한 파일의 라이브러리 의존성 확인 명령어
    ldd [옵션] 파일명
     
     
    gruop 사용자의 소속변경 newgrp
    그룹 자체 변경 groupmod
    nice
    프로세스의 우선순위 조절
    기본값 0
    -20~19범위에서 설정 가능
    음수일 수록 우선순위가 높음.
    ex) nice --10 bash
    ex) nice -n 10-p 1234
    crontab
    crontab -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/fstab

    usrquota : 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/sudoers 
    dmesg
    Display Message
    리눅스 커널이 부팅할 때 발생한 최근 메세지 출력
    /var/log/messages
    /var/log/syslog
    $dd 데이터 덤프 
    data duplicator
    $cpio Copy Input/Output
    큰 규모의 데이터 압축 백업, 파일 시스템 복원 , 데이터 전송 
    $dump 전체 파일 시스템을 아카이브/백업 
    파티션단위로 백업 , 롤백 
     <-> $restore
    $rsync remote synchronization 
    로컬<->원격 파일 시스템간의 파일, 디렉토리 복사 , 백업, 동기화 
    변경된 것만 동기화
    로컬<->로컬
    root권한 불필요 
    $scp SSH 프로토콜 사용해서 원격 호스트에 암호화 연결
    $mysqld
    $mysql
    mysqld : 서버 데몬 관리 
    mysql : db 클라이언트 인터페이스 
    가상화 SVM : AMD
    VT-x : Intel
    VDI : Oracle
    VMX : Intel
    nfs
    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.conf
    zone 도메인 www.naver.com  
    관리자 계정 primary
    primary.www.naver.com
    가상화....  
     xinetd 텔넷서버 활성화 
    disable=no
     TCP wrapper  
    squid(프록시) Web Client  <---->  Proxy Server  <--->  Web Server 

    NTP 서버 시간 동기화 서버 
    계층 : Stratum
    Network Time Protocol
    아파치  Listen 8080
    삼바 서버  SMB, CIFS 프로토콜 사용
    리눅스 시스템에서 윈도우 클라이언트로 파일, 프린터, 인증서비스를 제공하는 SW
    vsftpd 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.target
    exec
    fork
    nohup
    watch
    exec : 실행중인 프로세스 종료 후 , 새로운 프로세스 실행 
    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 1 
    raid  
    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
    $scanadf
    LVM
    용량 $lvextend -L [사이즈]
    $lvscan : 스캔 
    $vgcreate : 볼륨그룹생성
    RAID
    $mdadm
       

     

    시그널

     

     
    로그 파일 
     
    모듈 파일 형식 .ko
     
    게이트웨이 주소 값 (마스킹)

    직전 명령어 

     

    bg <->fg 

     

    systemctl명령어 

    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

    댓글

Designed by Tistory.