itsme

1주차 : 리눅스서버 기본 활용 방안 본문

대외활동/K-Shield 10기

1주차 : 리눅스서버 기본 활용 방안

itssmeee 2023. 3. 23. 15:40
반응형

리눅스서버 기본 활용 방안

[유닉스]

  • 리눅스의 뿌리
  • C언어 기반 OS
  • 이식성이 강함
  • 시분할 구성으로 멀티 유저 지원
  • System V계와 BSD계로 나뉨

[리눅스]

  • 오픈소스 소프트웨어
  • 데비안 계열 (우분투, 민트..)
  • 레드햇 계열 (페도라, CentOS)
  • 이식성 높음
  • 모든 내용을 파일 형식으로 관리

[쉘(shell)]

  • 사용자와 운영체제의 내부(커널) 사이의 인터페이스를 감싸는 충
  • CLI : Commend Line Interface
  • GUI : Graphic User Interface
  • 명령어 해석기 기능
  • 사용자와 커널 사이에서 명령을 해석해 전달

[Run level]

  • init 0 : 시스템 종료
  • init 1 : single user
  • init 2 : multiuser(NFS 기능 X)
  • init 3 : multiuser(모든 기능)
  • init 4 : X
  • init 5 : X-windows 부팅 & multiuser
  • init 6 : 시스템 재시작

[절대 경로 vs 상대 경로]

  • 절대 경로 : 절대적인 경로, 기준이 “/” (cd /var/log/httpd)
  • 상대 경로 : 상대적인 경로, 기준이 “나” (cd filename, cd ..)

./ : 현재 디렉토리

../ : 상위 디렉토리

 

[리눅스 명령어]

  • echo SHELL : 현재 설정된 쉘 확인
  • chsh : 쉘 변경 명령어, 적용은 다음 로그인부터 유효
  • echo : 문자열 출력 (echo –e : 이스케이프 문자 출력 가능)
  • (덮어쓰기), >>(이어쓰기)
  • | : 명령과 명령을 연결할 때 사용
  • ls : 파일 및 디렉터리 목록 보기
  • pwd : 현재 디렉터리 이름 출력
  • cp : 복사
  • rm : 삭제
  • mkdir : 디렉터리 생성
  • rmdir : 디렉터리 삭제
  • mv : 파일 이동 및 이름 변경
  • touch : 빈파일 생성
  • lsattr : 파일의 속성 값 확인
  • chattr : 파일의 속성 값 변경
  • history : 사용한 명령어 목록
  • vi : 편집, 에디터
  • find : 파일 찾기 (find /-name filename)
  • ps : 프로세스 상태 확인 (-ef : 모든 프로세스 표시)
  • who : 호스트에 로그인 한 사용자 확인
  • kill : 프로세스 제어
  • cat : 파일 내용 출력
  • more : 긴 내용의 파일 내용, 명령 결과 확인

[브로드 캐스트]

  • 1:N (불특정 다수)

[유니 캐스트]

  • 1:1

[멀티 캐스트]

  • 1:N (특정 다수)

[루프백]

  • IPv4 및 IPv6에서 자기 자신을 가리키기 위한 목적으로 쓰기 위해 예약된 주소. (g/w = 0)

[DNS]

  • Domain Name System
  • url <-> IP 주소로 변환

[네트워크 설정 파일]

  • /etc/sysconfig/network-scripts/ : 네트워크 NIC 카드의 설정 정보를 수정 또는 확인
  • /etc/resolv.conf : 도메인 서버를 설정 정보를 수정 또는 확인
  • /etc.sysconfig/network : 네트워크의 전체 기본 게이트웨이 주소를 설정, 호스트 네임, 네트워크 연결 허용 여부 설정 및 확인

[IP]

  • 공인 IP : 공공기관에서 인증한 IP주소(kt, LG..)
  • 사설 IP
  • A class : -127.255.255.255
  • B class : 128.0.0.0 – 191.255.255.255
  • C class : 192.0.0.0 – 223.255.255.255

[파일 시스템]

  • 컴퓨팅에서 데이터 저장 및 검색 방법을 제어하는 체계
  • 파티션 : 하나의 디스크를 여러 개의 파일 시스템으로 구성. 하나의 파티션으로도 통합 가능.
  • 볼륨 : 디스크 상의 논리적인 분할 단위
  • 트리구조 : 루트 디렉터리 밑 자식 혹은 먼 후손 디렉터리

[파일 구조]

1 : 파일 종류

2 : 허가 권한

3 : 링크 수

4 : 소유자명

5 : 그룹명

6 : size

7 : 마지막 변경된 날짜

8 : 마지막 변경된 시간

9 : 파일 이름

[inode]

  • 리눅스의 파일에 대한 모더ms 정보를 추적하ᅟᅳᆫ 데이터 구조
  • 사용자는 정보를 파일에 저장 -> OS는 파일에 대한 정보를 inode에 저장
  • inode 는 메타 데이터라고 부를 수 있음.

[Symbolic link]

  • Hard link

: 하나의 inode를 공유하는 다른 파일을 생성

: a 파일을 수정하면 b에서도 수정 사항 반영

: 원본 파일이 삭제 되어도 액세스 가능

  • Sym link

: 파일을 가리키는 하나의 파일을 생성(aka 바로가기)

: 원본 파일이 이동하거나 삭제되는 경우 액세스 불가능(링크 깨짐)

[race condition]

  • 경쟁 상태
  • 새스템의 실질적인 동작이 제어할 수 없는 다른 이벤트의 순서 또는 타이밍에 따라 달라지는 전자 장치, sw 또는 기타 시스템의 상태
  • privilege elevation(권한 상승)
  • mutex/ Mutual Exclusion : 상호 배제, 두 처리 단위가 임계구역에 동시에 접근하지 못하도록 막는 기법
  • semaphore
  • critical section : 임계구역, 서로 다른 두 프로세스 혹은 스레드 등의 처리 단위가 같이 접근해서는 안되는 공유 영역

[크립토재킹]

  • 상대의 컴퓨팅 파워를 이용하여 암호화폐를 채굴하는 행위 / 공격
  • CryptoCurrency + Hijacking => CryptoJacking
  • 두가지 방식

: 채굴기를 상대의 컴퓨터에 설치하여 암호화폐를 채굴

: 웹 페이지 내의 코드를 삽입하는 방식

[리눅스 관련 파일]

  • /etc/passwd : 계정이름과 관련 정보
  • /etc/shadow : 패스워드와 관련 정보
  • /etc/group : 계정 그룹과 보조 그룹 계정 정보

[adduser vs useradd]

  • CentOS는 차이 없음.
  • Ubuntu에서 useradd는 홈디렉토리를 자동으로 생성하지 않지만, adduser는 홈디렉토리 자동 생성. => adduser 자주 사용

[grep vs egrep]

  • grep : 단일 문자열
  • egrep : 다중 문자열

[pwconv vs pwunconv]

  • pwconv : 일반 passwd
  • pwunconv : passwd파일에서 해쉬화 된 암호 볼 수 있음.

[DBD]

  • Drive by Download
  • 웹 사이트 방문하는 것만드로도 악성코드에 감염시킬 수 있는 기법
  • 의심스러운 메일, 사이트 접근 X

[su vs su-]

  • su : 이전 계정의 환경 변수를 그대로 사용
  • su - : root계정의 환경 변수로 전환
  • su는 계정의 전환을 위해 사용
  • sudo는 권한을 빌려 명령어를 사용하기 위한 것

[UMASK]

  • 파일이나 디렉터리 생성 시 초기 접근권한을 설정할 때 사용.
  • 초기 파일의 권한은 666, 디렉터리는 777
  • umask 002 => file : 666-002 = 664, d : 777-002 = 775

[Fileless Malware]

  • 파일이 없는 멀웨어