사이버전_리눅스 기초 #2

Whiger·2023년 4월 18일
0

⛔사이버전⛔

목록 보기
2/7

리눅스 시스템

  • 유닉스 기반 오픈소스 운영체제
    ↳ 협업을 통해 발전
  • 개발, 취약점 분석, 해킹을 위한 환경 구축 용이
    ↳ Kali Linux (취약점 분석 환경), SIFT(디지털 포렌식 분석 환경)
  • 서버 구축 용이
  • 리눅스 커널 : 하드웨어와 소프트웨어의 상호작용 관리 프로그램
    ↳ 리눅스 운영체제의 핵심
    리눅스 운영체제 = 커널 + 유틸리티(사용자 공간의 도구 및 유틸리티 프로그램)

리눅스 디자인

  • 멀티 유저, 멀티 태스킹, 멀티 쓰레딩 시스템
    ↳ 시스템의 자원(파일 등)에 대한 접근 및 소유 권한 지정, 사용자 관리 必
    ↳ 동시에 여러 프로세스 실행 가능 → 멀티 프로세스 시스템
  • 속도, 효울성, 표준화

리눅스 디텍토리 계층 구조

  • 리눅스 디렉토리 = 윈도우 폴더 ⇨ 파일(실질적인 정보)을 담는 곳

절대경로와 상대경로

절대경로 : 최상위 디렉토리 root (/) 를 기준으로 경로 나타냄
↳ /root/test/absolute.txt
상대경로 : 현재 디텍토리 (./)를 기준으로 경로 나타냄
↳ ./../secret/relative.txt

* 상위 디렉토리 표현 : ..
* 현재 디렉토리 표현 : . 

중점

  • 파일관리, vi 명령어
  • 파일 엑세스 권한
  • 파일 소유자 권한 변경
  • 디렉토리 접근 권한(chmod, chown)
  • /etc/passwd 파일 정보
  • /etc/shadow 파일 정보

#1 리눅스 기본 명령어_파일관리

참고 사이트1
참고 사이트2

  1. ls 명령어 (List Segment)
    : 파일 및 디렉토리 목록을 출력 (디렉토리 안에 뭐가 있나?)
    : ls -l ►► 파일의 상세정보(최종 수정시간 표시)
    : ls –al ►► .(점)을 포함한 경로 내 모든 파일, 디렉토리 표시 ►► 내용 자세히 출력
  2. pwd 명령어 (Print Working Directory)
    : 현재 디렉토리 경로를 절대 경로로 출력
  3. cd 명령어
    : 디렉토리 변경
    ⇨ cd ~ ►► 홈 디렉토리
    ⇨ cd .. or ../ or ./../ ►► 상위 디렉토리
    ⇨ cd / ►► 최상위 디렉토리
  4. cat test.txt 명령어 (concatenate, catenate)
    : test.txt 파일의 내용을 출력, 여러 파일 한꺼번에 확인 가능.
    : cat > 파일명 ►► 파일 생성 및 데이터 입력 (ctrl + c 누르면 종료)
  5. rm 명령어 (remove)
    : 파일 삭제하는 명령
    : -f file1 ►► file1을 강제 삭제 (삭제여부 묻지 않음)
    : rm -rf 디렉토리명/
  6. cp test.txt test2.txt 명령어 (copy)
    : 파일 복사
    : test.txt(기존)내용을 test2.txt(신규 생성)에 복사 !!
  7. mkdir dir_1
    : dir_1 디렉토리 생성
    : mkdir -p 디렉토리명/파일명 : 하위 디렉토리까지 한 번에 생성 가능
  8. touch test.txt
    : test.txt 파일 생성 (0바이트 파일)
  9. mv test2.txt test3.txt
    : test2.txt 파일의 이름을 test3.txt 이름으로 변경
  10. rmdir
    : 디렉토리 삭제
  11. ./현재 디렉토리에 있는 파일의 이름
    : 해당 파일 내용 출력

#2 리눅스 기본 명령어_문서 편집기

참고자료
:set number
: 줄 번호 표시

vi 파일명
: 파일 생성, 파일 수정을 위해 vi 편집기 접속

#3 리눅스 기본 명령어_권한 및 소유권

  1. su user01
    : user01 계정 접속
  2. chmod 750 dir_1
    : dir_1 디렉토리의 권한을 다음과 같이 변경하라.
    : 권한 필드 ►► 사용자/그룹/기타 유저 ►► 7/5/0 자리 별로 부여!
    : 8진수 방식의 권한 부여 기능

0: 권한 없음 (---)
1: 실행 권한만 있음 (--x)
2: 쓰기 권한만 있음 (-w-)
3: 쓰기와 실행 권한이 있음 (-wx)
4: 읽기 권한만 있음 (r--)
5: 읽기와 실행 권한이 있음 (r-x)
6: 읽기와 쓰기 권한이 있음 (rw-)
7: 읽기, 쓰기, 실행 권한이 모두 있음 (rwx)

<<rwx의미>> : r(4), w(2), x(1)
r : 디렉토리 및 파일을 읽을 수 있는 권한 (read)
w : 디렉토리 및 파일을 생성, 삭제, 수정할 수 있는 권한 (write)
x : 디렉토리 접근, 파일 실행 권한 (Access, eXcute)
(-) : 해당 권한이 없는 경우 (bar)

►► 파일유형(- : 일반파일, d : 디렉토리, l : 링크파일) / rwx조합 / rwx조합 / rwx조합

  1. chown user01 dir_1
    : dir_1 디렉토리의 소유'자' 를 user01로 설정
  2. groupadd user
    : user 그룹 생성
  3. usermod -G user user01
    : user 그룹에 user01 사용자 추가
  4. chgrp user dir_1
    : 그룹 user를 dir_1 소유 '그룹' 으로 설정

#4 리눅스 기본 명령어_프로세스 관리

  1. ps
    : 실행 프로세스 확인

    ↳ PID : 프로세스 식별 번호 / 값이 클수록 최근에 생성됨
  2. bash
    : bash 프로세스 실행
  3. kill -9 [PID값]
    : 프로세스 킬
    ↳ 9 : 하드웨어적 종료 (KILL)
    ↳ 15 : 소프트웨어적 종료 (TERM)
    ↳ 1 : 데몬의 경우 종료 후 다시시작 (HUP)
    ↳ 2 : 포그라운드에서 ctrl+c(작업취소) 실행과 동일
    ↳ 3 : " ctrl+\ 실행과 동일

#5 리눅스 기본 명령어_사용자 관리

참고자료

  1. cat /etc/passwd
    : 제공 리눅스의 유저 목록 출력
    : /etc/passwd 파일정보
    ↳ 사용자 ID를 인덱스로 유저계정정보를 저장한 파일
    root:x:0:0:root:/root:/bin/bash
    ① ②③④ ⑤ ⑥ ⑦
    ① 필드 1 : 사용자명
    ② 필드 2 : 패스워드 (/etc/shadow 파일에 암호화되어 있음)
    ③ 필드 3 : 사용자 계정 uid
    ④ 필드 4 : 사용자 계정 gid
    ⑤ 필드 5 : 사용자 계정 이름(정보)
    ⑥ 필드 6 : 사용자 계정 홈 디렉토리
    ⑦ 필드 7 : 사용자 계정 로그인 쉘
  2. userdel
    : 유저 삭제
  3. useradd
    : 유저 생성
  4. passwd user03
    : user03 패스워드 설정 (입력 후, 동적 할당)

#6 리눅스 기본 명령어_패스워드 크래킹.py

Encrypted_password 필드를 크래킹

  1. cd python
    : 파이썬 폴더로 접근 ►► crack.py 파일 확인
  2. vi crack.py
    : 수정부분 확인 ►► encrypted_password
  3. python crack.py
    : 파이썬 실행
profile
c0d3_wh1t3

0개의 댓글