개정으로 인한 신규강의는 2024년 강의항목이 따로 있었다
나는 그간 2023년 강의항목에서 복습만 한것이었음 ^^;;
3강. 002.UNIX/Linux기본학습_01(신규)/(1권)p9~10
유닉스/리눅스 기본 학습
접속과정
1) 원격 터미널 접속 프로그램 이용
- Telnet 프로토콜(23/tcp) 사용. 암호통신을 지원하지 않아 스니핑 공격에 취약
- SSH 프로토콜(22/tcp) 사용. 암호통신을 지원함.
2) 사용자 인증을 처리하는 로그인 프로세스가 동작하여 사용자 인증 처리
- 인증 : 신원확인, 인가 : 인증된 사용자에게 접근권한 부여
3) 사용자 환경설정 파일을 로드하고 로그인 쉘을 기동한 후, 사용자 홈디렉터리에서 사용자 입력을 대기
- 모든 사용자 환경설정 파일
① /etc/profile : 모든 쉘에 적용되며 쉘 변수, 환경 변수, 쉘 스크립트 구문 포함
② /etc/bashrc : 사용자 환경설정에 필요한 함수나 alias 구문
- 개별 사용자 환경설정 파일 : ~/.bash_profile, ~/.bashrc 이 파일들은 개별 사용자 홈 디렉터리에 위치함
- 쉘shell : 사용자가 입력한 명령어를 해석해 커널에 전달하고 처리한 결과를 사용자에게 출력하는 프로그램. 리눅스 기본 쉘은 bash배시 쉘.
사용자 정보
1) 시스템
가) passwd 파일
계정명:패스워드:uid:gid:코멘트:홈디렉터리:로그인쉘
* 패스워드의 x는 shadow 패스워드 정책을 의미한다
* root(슈퍼유저계정, 관리자계정)의 UID는 0으로 예약되어 있다. (권한 탈취를 대비해 주기적 점검 필요)
* 하나의 기본 그룹에 필수적으로 속하며, 보조그룹에 속할 수 있다. 기본그룹이 gid가 된다.
* 로그인 쉘에 악성쉘이 실행되도록 설정하는 예도 있으므로 주기적 점검 필요
* 로그인 금지 계정은 로그인 쉘에 /bin/false 또는 /sbin/nologin 설정
+ 참고
grep : 패턴(문자열)
egrep : 패턴을 여러개 지정가능
ex)
egrep '^root|^test' : root로 시작하는, test로 시작하는
egrep '$root|$test' : root로 끝나는, test로 끝나는
4강. 003.UNIX/Linux기본학습_02(신규)/(1권)p11~14
그룹 정보
가) group 파일
- 그룹 정보를 저장하고 있는 파일
- 그룹명:그룹패스워드(사용x):그룹id:그룹소속사용자
- root 그룹은 gid=0 으로 예약되어 있다
나) 명령어
id : 현재 사용자의 id 관련 정보
id id명 : 해당 계정의 id 관련 정보
다) 패스워드 변경
passwd : 현재 사용자의 패스워드 변경
passwd id명 : 해당 계정의 패스워드 변경 (root만 가능)
입출력 재지정I/O Redirection 기능
프로세스의 기본적인 입출력
- 표준입력stdin, 0 : 키보드로부터 입력받기 위한 파일
- 표준출력stdout, 1 : 수행중에 발생한 정상 메시지를 모니터로 출력하기 위한 피일
- 표준에러stderr, 2 : 수행중에 발생한 에러 메시지를 모니터로 출력하기 위한 파일
입출력 재지정 기능을 통해
표준 입력, 표준 출력, 표준 에러를 키보드나 모니터가 아닌 다른 파일로 재지정할 수 있다
cat filename 2> /dev/null
=> 표준에러를 /dev/null 장치파일폴더의 윈도우의 휴지통 역할을 하는 곳으로 버린다
ls -l a.txt 1> b.txt
=> ls -l a.txt 의 결과값을 b.txt에 덮어쓴다
( 1> 는 > 로 생략할 수 있다 )
>> 를 사용하면 기존 내용에 추가된다
ls -l 1> b.txt 2> b.txt
=> 이렇게 쓰면 에러는 안 나지만, 동시에 b.txt에 쓰려고 하기 때문에 의도치 않은 결과가 발생할 수 있다
때문에
ls -l 1> b.txt 2>&1
=> 표준에러는 표준출력으로 재지정하여 사용하는 것이 안전하다
5강. 004.UNIX/Linux기본학습_03(신규)/(1권)p15~17
파이프Pipe |
- 2개의 프로세스 사이에서 단방향으로 통신할 수 있도록 지원하는 특수한 파일
- 명령어의 실행 결과를 다른 명령어의 입력으로 전달하여 처리하는 기능
ex)
cat a.log | more
=> cat a.log의 내용을 페이지 단위로 출력
cat a.log | grep aa
=> cat a.log의 내용을 aa로 필터링해서 출력
프로세스들은 각자 독립적인 가상 메모리공간을 사용하므로, 메모리 공간을 공유해서 통신할 수 없다(통신의 안정성 등을 위하여) 때문에 운영체제(커널)의 도움이 필요함.
유닉스/리눅스 운영체제가 지원하는 프로세스간 통신
- 파이프, 공유 메모리, 메시지 큐, 세마포어, 소켓, 시그널
특수문자=메타문자
~ 홈 디렉터리
. 현재 디렉터리
.. 상위 디렉터리
# 주석
$ 쉘 변수 지칭시
& 백그라운드 모드로 실행
* 임의의 0개이상 문자
? 임의의 1개의 문자
; 쉘 명령 구분자
| 파이프
< 입력 재지정
> 출력 재지정
6강. 005.UNIX/Linux기본학습_04(신규)/(1권)p18~22
파일시스템 응용
개요
- 물리적인 저장장치에 파일을 생성, 저장, 관리하기 위한 논리적 자료구조를 파일시스템이라고 함
- 물리적 저장장치는 논리적 파티션으로 나누어지고 파티션별로 고유한 파일시스템을 생성
구성
- 부트블록Boot : 운영체제를 부팅하거나 초기화하기 위한 부트스트랩 코드를 담고 있음
- 슈퍼블록Super
아이노드 구조체
1) inode number : 파일시스템 내에서 파일을 식별하기 위한 고유한 식별자
2) 파일타입 : 일반, 디렉터리, 장치파일 등의 유형
3) 접근권한 : 소유자, 소유그룹, 기타로 구분
4) link count : 해당 inode를 참조리는 하드링크 개수
5) 파일 소유자
6) 파일 소유그룹
7) 파일크기
8) MAC Time : Last M Time(마지막 수정), Last A Time(마지막 접근), Last C Time(마지막 속성 변경)
9) Block index : 데이터 블록에 저장된 파일 데이터에 대한 인덱스 정보
* inode에는 파일명이 없다 (파일명은 디렉터리를 통해 관리되고, inode number를 갖고있다)
* 침해사고 발생시 무결성 확인을 위해 타임라인 분석에 사용됨
파일시스템과 링크파일
ex) ln b.txt | b_1.txt
- 하드링크 : 기존 파일과 동일한 inode number를 가지는 파일 생성. 디렉터리는 하드링크 불가. 원본이 삭제되어도 사용가능
- 심볼릭링크 : -s 옵션 사용, 원본 파일에 대한 파일 경로를 파일 내용으로 삼는 별도의 inode number를 가지는 파일 생성. 디렉터리도 심볼릭링크 가능. 원본이 삭제되면 사용할 수 없다
두 링크 모두 파일수정시 원본파일도 수정됨.
'(실기) 정보보안기사&산업기사' 카테고리의 다른 글
보안기사 실기 신규강의 3 (0) | 2024.08.05 |
---|---|
보안기사 실기 신규강의 2 (0) | 2024.08.01 |
정보보안법규 4 (0) | 2024.04.19 |
정보보안 법규 1~3 (0) | 2024.04.18 |
정보보안일반관리 5~8 (0) | 2024.04.17 |