리눅스 시스템은 유닉스를 기반으로 개발된 운영제체다. 오픈 소스 소프트웨어로써 다중 사용자를 지원하고, 멀티 태스킹 기능을 제공하는 등의 특징을 갖고 있다. Ubuntu, Redora, Debian 등의 다양한 리눅스 배포판이 있다.
<리눅스의 특징>
1. 리눅스는 명령어 기반 시스템이다. 즉, 모든 입출력은 문자를 기반으로 수행된다는 것인데, 이는 운영체제의 핵심인 커널이 명령어 기반의 입출력을 하도록 작성되어 있기 때문이다.
2. 디렉토리가 있다. 리눅스는 윈도우와 달리 드라이브 문자가 존재하지 않으며, 필요한 파일시스템을 마운트하여 사용한다. 디렉토리는 절대경로와 상대경로로 표시할 수 있으며, 내용은 다음과 같다.
경로 |
내용 |
. |
현재 디렉토리 (상대경로) |
.. |
상위 디렉토리 (상대경로) |
/ (루트 디렉토리) |
최상위 디렉토리 |
/bin |
기본 명령어(ls, cp 등) 저장되어 있음 |
/boot |
시스템 부팅을 위한 파일이 저장되어 있음 |
/dev |
시스템의 각 장치를 의미하는 파일이 저장되어 있음 |
/etc |
시스템 설정에 대한 파일이 저장되어 있음 |
/home (홈 디렉토리) |
각 사용자에게 할당된 기본 디렉토리를 저장 |
/lib |
시스템의 공유 라이브러리 저장 |
/mnt |
다른 장치를 마운트하기 위한 디렉토리 |
/proc |
가상 파일시스템으로 실제로 디스크에 저장되지 않으며, 시스템에서 실행되는 프로세스에 대한 정보를 저장 |
/usr |
사용자가 설치한 응용 프로그램, 소스코드, 도움말 파일 등을 저장 |
/root |
root(슈퍼유저)의 홈 디렉토리 |
/sbin |
root가 사용하는 명령어가 저장됨 |
3. 리눅스의 파일 특성이 있다. 리눅스는 윈도우와 다르게 실행파일의 확장자가 없다. 대신, 파일의 권한을 통해 실행 여부를 결정한다.
또한 특수 파일로는 심볼릭 링크 파일과 하드링크 파일도 있다. 심볼릭 링크는 윈도우의 바로가기 파일과 유사하기 때문에, 심볼릭 링크를 이용하여 다른 경로의 파일에 대한 작업을 수행할 수 있다. 때문에 원본파일이 삭제되면 심볼릭 링크 파일은 함께 삭제된다.
심볼릭 링크는 단순히 원본파일을 가리키는데 반해, 하드링크는 원본을 복사해 사본을 생성하는 거라고 볼 수 있다. 하드링크는 원본파일이 삭제되더라도 사본의 내용을 그대로 담고 있다. 여러 시스템에서 파일을 공유하면서 안전하게 보관하고자 할 때 이용된다.
4. 디렉토리 및 파일에 접근하기 위해서는 적절한 권한이 있어야 한다. 리눅스는 접근권한을 읽기(r), 쓰기(w), 실행(e)으로 구분해 그룹이나 사용자에게 권한을 부여한다.
5. SUID와 SGID는 특정 실행 파일을 사용할 때 해당 파일의 소유자 또는 그룹의 권한으로 실행할 수 있도록 한다. 소유자 권한의 부분에 s가 표시되어 있다면 SUID가 설정된 것이고, 그룹 실행권한에 s가 표시되어 있다면 SGID가 설정된 것이다.
6. Daemon은 리눅스 시스템에서 백그라운드로 동작하는 서버 프로그램이다. (윈도우의 서비스와 유사한 개념) 일반적으로 데몬은 시스템이 시작할 때 동작하기 시작하며, 'httpd'와 같이 제공하는 서버의 이름에 d를 붙여 표시하는 경우가 많다. 대부분 서버의 동작과정을 로그파일에 남긴다.
<리눅스 환경설정 파일>
사용자 및 그룹 설정과 관련된 설정 파일은 아래를 예시로 들 수 있다.
파일명 |
역할 |
/etc/passwd |
사용자에 대한 내용 |
계정명 : 패스워드 : uid : gid : gecos : 사용자의 홈 디렉토리 : 사용자가 로그인 한 후 실행되는 프로그램 |
|
/etc/shadow |
패스워드 인증 정보 |
계정명 : 패스워드인증정보 : 마지막수정시간 : 앞으로 며칠이 지난 후 변경할 수 있는지 : 수정 후 며칠이 지났는지 : 만료기간 알림의 유무 : 만료된 후 기간 : 계정 사용 불가 |
|
/etc/group |
그룹과 그룹에 속해있는 사용자에 대한 정보 |
그룹이름 : 그룹 패스워드 : gid : 그룹에 속해있는 사용자목록 |
파일 시스템과 관련된 설정파일은 크게 /etc/fstab과 /etc/mtab에 저장된다.
네트워크 설정파일도 있다. 네트워크에 대한 설정은 호스트, 네트워크 인터페이스 카드(NIC), DNS 설정 등이 있다. 자세한 파일 경로는 다음과 같다.
설정 |
경로 |
호스트 설정 |
/etc/hosts.conf, /etc/hosts, /etc/hosts.allow, /etc/hosts.deny |
DNS 설정 |
/etc/resolv.conf |
네트워크 인터페이스 카드 (NIC) 설정 |
/etc/network/interfaces |
<자동 실행 프로그램>
사용자가 로그인하여 쉘을 실행시키거나 새로운 쉘로 진입하는 경우, 특정 프로그램을 이용하는 경우에 자동으로 실행되는 스크립트 파일이 있다. 이러한 자동 스크립트 파일은 일반적으로 사용자의 홈 디렉토리에 있으며, 내용은 다음과 같다.
경로 |
내용 |
.bashrc, .bash_profile, .bash_logout |
bash 쉘이 동작할 때 자동으로 실행되는 스크립트 |
.cshrc, .login |
c쉘이나 tcsh가 실행할 때 자동으로 실행되는 스크립트 파일 |
.kshrc |
콘 쉘이 실행할 때 자동으로 실행되는 스크립트 파일 |
.vimrc |
vi, vim에디터(텍스트 편집기)를 이용할 때 자동으로 실행 |
.xinitrc |
X 윈도우가 구동될 때 자동으로 실행 |
<시스템 로그 파일>
리눅스 시스템은 시스템의 로그를 기록하기 위해 기본적으로 syslog 데몬을 이용한다. syslong 데몬은 운영체제의 동작과저에서 발생하는 로그를 기록하며, 다른 데몬 프로그램이 발생시키는 로그도 기록한다.
'디지털 포렌식(Digital Forensics) > 디지털포렌식 개론' 카테고리의 다른 글
10장 윈도우 시스템 조사 (0) | 2020.09.10 |
---|---|
7장 디지털 증거 분석 기술 (0) | 2020.08.13 |
4장. 디지털 증거(digital evidence) (0) | 2020.07.25 |
3장 . 디지털 기기와 저장매체 (1) | 2020.07.23 |
댓글