1. 파일 및 디렉터리 관리
| 구분 | 명령어 | 내용 | 예시 | 결과 (설명) |
|
디렉터리 관리
|
ls | 디렉터리 및 파일 정보 나열 | ls -l | 파일 권한, 크기 등 상세 정보 출력 |
| cd | 작업 디렉터리 변경 | cd /home | /home 디렉터리로 위치 이동 | |
| pwd | 현재 작업 디렉터리 경로 출력 | pwd | /usr/bin 등 현재 절대 경로 표시 | |
| mkdir | 새로운 디렉터리 생성 | mkdir data | data'라는 이름의 폴더 생성 | |
| rmdir | 비어 있는 디렉터리 삭제 | rmdir data | data' 폴더 삭제 (내용물 있을 시 실패) | |
|
파일 관리
|
cat | 파일 내용 출력 및 병합 | cat a.txt | a.txt 파일의 전체 텍스트 출력 |
| more | 파일 내용을 페이지 단위 출력 | more long.txt | 화면 단위로 끊어서 내용 확인 가능 | |
| head | 파일의 앞부분 출력 | head -n 5 a.txt | 파일의 상위 5줄만 출력 | |
| tail | 파일의 뒷부분 출력 | tail -n 5 a.txt | 파일의 하단 5줄만 출력 | |
| mv | 파일 이동 및 이름 변경 | mv a.txt b.txt | a.txt 파일명을 b.txt로 변경 | |
| cp | 파일 및 디렉터리 복사 | cp a.txt c.txt | a.txt를 복사한 c.txt 파일 생성 | |
| rm | 파일 및 디렉터리 삭제 | rm file.txt | 해당 파일 삭제 (-r 옵션 시 디렉터리 삭제) | |
| ln | 링크 파일(하드/심볼릭) 생성 | ln -s a.txt link | a.txt를 가리키는 바로가기(심볼릭) 생성 | |
|
권한 관리
|
chmod | 접근 권한 변경 | chmod 755 s.sh | 파일에 실행 권한 등 부여 |
| chown | 파일 소유주 변경 | chown user a.txt | 파일 소유자를 user로 변경 | |
| chgrp | 소유 그룹 변경 | chgrp dev a.txt | 파일 소유 그룹을 dev로 변경 | |
| touch | 빈 파일 생성/시간값 변경 | touch new.txt | 내용이 없는 0 Byte 파일 생성 | |
| umask | 생성 시 기본 권한 설정 | umask 022 | 이후 생성될 파일의 기본 권한에 영향 | |
|
파일 응용
|
wc | 행, 단어, 문자 수 출력 | wc -l a.txt | 파일이 총 몇 줄인지 숫자로 출력 |
| cut | 특정 필드/바이트 추출 | cut -d: -f1 /etc/passwd | 구분자(:) 기준 첫 번째 필드만 추출 | |
| paste | 파일 행 병합 | paste f1 f2 | 두 파일의 내용을 옆으로 나란히 붙임 | |
| tr | 문자 치환 또는 삭제 | echo "abc" | tr a A | a'를 'A'로 치환하여 "Abc" 출력 | |
| sort | 파일 내용 정렬 | sort list.txt | 텍스트 줄을 알파벳/숫자순 정렬 | |
| split | 파일을 작은 단위로 분할 | split -l 10 a.txt | 10줄씩 끊어서 여러 파일로 분할 | |
| uniq | 중복되는 인접 행 제거 | uniq list.txt | 연속으로 중복된 줄을 하나로 합침 | |
| cmp | 두 파일을 바이트 단위 비교 | cmp f1 f2 | 두 파일이 다르면 첫 차이 지점 출력 | |
| comm | 두 파일 행 비교 | comm f1 f2 | 각 파일에만 있는 줄과 공통 줄 구분 | |
| diff | 두 파일의 차이점 검사 | diff f1 f2 | 두 파일의 줄 단위 차이점 상세 표시 | |
| grep | 특정 패턴/문자열 검색 | grep "linux" a.txt | "linux"가 포함된 행만 찾아 출력 | |
| find | 파일 검색 | find . -name "a.txt" | 현재 폴더에서 a.txt 파일 위치 검색 |
2. 디렉터리 탐색 및 정보 확인 (ls)
보안관제 시절, 침해사고 의심 서버에 접속하면 가장 먼저 실행했던 명령어가 바로 ls입니다. 단순히 파일 목록을 보는 것을 넘어, 숨겨진 악성 스크립트나 권한 설정을 확인하는 것이 핵심입니다.
- ls -l: 파일의 권한, 소유자, 크기, 수정 시간 등을 상세히 출력합니다. (실무 필수)
- ls -a: 이름이 .으로 시작하는 숨김 파일까지 모두 보여줍니다. (악성코드는 주로 숨김 파일로 존재하죠!)
- ls -R: 하위 디렉터리 구조까지 한 번에 훑을 때 유용합니다.
- ls -i: 파일의 고유 번호인 Inode Number를 확인합니다. 파일 시스템 분석 시 유용합니다.
💡 Tip: > 실무에서는 보통 ls -al 또는 ls -alt (시간순 정렬) 조합을 가장 많이 사용합니다. 최근에 생성된 수상한 파일이 있는지 파악하기 위함이죠!
3. 접근권한(Permission) 관리
보안의 기본 원칙 중 하나는 **'최소 권한의 원칙'**입니다. 파일이나 디렉터리에 불필요한 권한이 부여되어 있는지 확인하고 수정하는 작업은 보안 운영의 핵심입니다.
- 권한 종류: r(4) - 읽기, w(2) - 쓰기, x(1) - 실행
- 파일 종류 구분:
- -: 일반 파일
- d: 디렉터리
- l: 심볼릭 링크 (바로가기)
- b: 블록 장치 파일
- c: 문자 장치 파일
- p: 네임드 파이프
- s: 유닉스 도메인 소켓
- 명령어 활용:
- chmod: 파일이나 디렉터리의 권한 변경 (예: chmod 644 file.txt)
- chown: 파일의 소유자나 그룹 변경
4. 생성 파일의 기본 권한 설정 (umask)
보안 설정 점검(Hardening) 시 빠지지 않는 항목이 바로 umask입니다. 새로 생성되는 파일이 너무 과한 권한을 가지지 않도록 제한하는 역할을 합니다.
- 계산 방식: * 파일: $666 - umask = 기본 권한$
- 디렉터리: $777 - umask = 기본 권한$
- 예를 들어, umask 022로 설정하면 파일은 644, 디렉터리는 755 권한으로 생성됩니다.
5. 강력한 탐색 도구 (find)
특정 조건의 파일을 찾아야 할 때 find만큼 유용한 도구는 없습니다. 특히 권한이 잘못 설정된 파일을 찾을 때 빛을 발합니다.
- 문법: find [경로] [옵션] [액션]
- 실무 활용 예시:
- find / -name "*.log": 확장자가 log인 모든 파일 찾기
- find / -perm -4000: SetUID가 설정된 파일 찾기 (권한 상승 공격 확인 시 필수!)
- find /etc -mtime -3: 최근 3일 이내에 수정된 설정 파일 확인
'시스템' 카테고리의 다른 글
| [정보보안기사/실무] 리눅스 파일시스템의 구조와 링크 정리 (0) | 2026.03.02 |
|---|---|
| [실무/정보보안기사] UNIX/LINUX 시스템 로그인 과정 (0) | 2026.03.02 |
| [정보보안기사/실무] 윈도우 로그인 인증 구조 완벽 이해(Challenge & Response) (0) | 2026.02.22 |
| [정보보안기사/실무] 윈도우 인증의 두 축: 로컬 인증(SAM) vs 원격 인증(AD/Kerberos) 비교 (0) | 2026.02.21 |
| [정보보안기사/실무] 윈도우 인증 구조(LSA, SAM, SRM) 완벽 정리 및 관제 실무 활용법 (0) | 2026.02.21 |