Linux 입문과 실습 환경: Ubuntu·명령어·파일 권한
YOUR LEARNING PATH
복구 가능한 가상 환경을 먼저 준비한 다음 파일, 출력, 권한과 프로세스를 다룹니다. Linux를 설치한 상태에서 끝내지 않고, 명령 결과를 읽고 문제가 생겼을 때 확인할 위치를 익힙니다.
누구를 위한 경로인가요?
Linux를 처음 설치하는 분, 보안 실습에 앞서 터미널과 운영체제의 기초를 다지고 싶은 분
시작 전 준비
가상 머신을 실행할 수 있는 PC와 Ubuntu 설치 환경을 준비합니다. 설치 수업에 따라 스냅샷을 만든 뒤 실습하고, 중요한 파일은 연습 환경과 분리하세요.
이 경로에서 익힐 것
- 디렉터리를 이동하고 grep·find로 필요한 정보를 찾습니다.
- rwx 권한과 소유권을 읽고 명령 실행 권한을 구분합니다.
- 프로세스·로그·SSH·bash를 연결해 운영체제의 동작을 관찰합니다.
STEP BY STEP
추천 학습 순서
복구 가능한 Linux 환경 만들기
명령과 권한을 익히기
- 019 리눅스 기본 명령어 2 — 출력을 조종하는 세 개의 수도관표준 스트림(stdin/stdout/stderr) 세 개의 관을 번호와 함께 설명한다
- 020 검색 (grep/find) — 건초더미에서 바늘 두 개 찾기grep(내용 검색)과 find(이름·조건 검색)의 역할 차이를 설명한다
- 021 패키지 관리 — 리눅스의 앱스토어, apt패키지(package)·저장소(repository)·의존성(dependency) 세 개념을 설명한다
- 022 에디터 — nano와 vim, 터미널에서 살아남기터미널 에디터가 왜 필요한지, cat이나 >로는 안 되는 이유를 설명한다
- 023 권한 1 — rwx, 파일에 새겨진 규칙ls -l 출력 맨 앞의 -rwxr-xr-- 같은 문자열을 등급별로 해석한다
- 024 권한 2 — 소유권과 sudo, 힘을 다스리는 법root(UID 0)가 무엇이며, 왜 권한 검사를 우회하는지 설명한다
- 025 사용자 관리 실험 — 인증과 인가의 경계를 넘어 보라인증(authentication)과 인가(authorization)의 차이를 예를 들어 설명한다
자동화와 보안 관점으로 확장하기
- 026 프로세스 관리 — 보고, 찾고, 신호를 보내라실행 중인 프로세스의 목록을 보고 PID(번호)와 PPID(부모 번호)를 찾는다
- 027 디렉토리 구조 탐구 — 리눅스 지도를 손에 넣다리눅스 최상위 폴더(/etc, /var, /bin 등)의 역할을 설명한다
- 028 bash 스크립트와 cron — 손으로 치던 명령을 자명종에 맡겨라명령어 여러 개를 파일에 모아 한 번에 실행하는 셸 스크립트를 만든다
- 029 SSH 원격 접속 — 암호화된 대문을 열다SSH가 무엇이고, 평문 통신의 어떤 문제를 해결하는지 설명한다
- 030 ★ 프로젝트: 모니터링 자동화 — 혼자 일하는 감시자 만들기모니터링이 무엇이며, 왜 "기록"이 정상의 기준선(baseline)이 되는지 설명한다
- 106 리눅스 권한 심화 — setuid, setgid, sticky bitsetuid·setgid·sticky bit의 동작을 각각 한 문장으로 설명한다
- 107 리눅스 로그 탐구 — /var/log/var/log의 주요 파일(auth.log, syslog, kern.log, wtmp 등)의 역할을 말한다
- 108 환경변수와 PATH 인젝션환경변수가 무엇이며 export와 $변수로 읽고 쓴다
- 109 심볼릭 링크와 하드링크 — 파일의 또 다른 이름파일의 실체(inode)와 이름이 분리되어 있다는 구조를 설명한다
- 110 프로젝트: "리눅스 권한 모델의 허점" 정리 문서 — 공격자의 눈으로 복습한다리눅스 권한 우회 지점 4종을 "조건 / 발견 방법 / 악용 방법 / 방어법"의 4단 구조로 정리한다
다음 단계로 가기 전에
스냅샷이 있는 환경에서 파일 검색, 권한 확인, 프로세스 조회를 스스로 수행해 보세요. 자동화 실습에서는 성공했을 때뿐 아니라 입력이 없거나 권한이 부족할 때의 결과도 기록합니다.
수업별 준비물과 완료 기준을 먼저 확인하고, 익숙한 내용은 필요한 수업부터 읽어도 좋습니다.