공시 한 판

정보보호론 개념서 · 시스템 보안과 포렌식

유닉스·리눅스 운영 명령과 기본 점검

설명 영상 유닉스·리눅스 운영 명령과 기본 점검 · 2:49

핵심 정리

유닉스·리눅스에서 사용자가 운영체제에 명령을 내리는 기본 통로는 셸이다. 셸은 사용자와 운영체제 사이에서 명령어를 해석하고 실행하는 명령 인터프리터이다. 셸은 셸 스크립트 프로그래밍과 환경 설정 기능도 제공한다. 운영 명령이 다루는 대상은 크게 파일과 계정이다. 운영체제는 모든 종류의 파일을 i-node를 통해 관리한다. 파일 유형은 i-node에 기록되는 파일 속성이다. 소유 그룹(GID)도 i-node에 저장되는 파일 속성이다. 파일명은 i-node에 저장되지 않는다. 디렉터리 파일에는 파일명과 i-node 번호가 짝을 이루어 저장된다.

파일 권한과 기본 권한은 서로 다른 명령으로 관리한다. chmod는 파일의 접근 권한을 변경하는 명령이다. 새로 만드는 파일과 디렉터리에 적용할 기본 권한은 umask가 정한다. 두 명령의 역할을 명령과 기능을 짝으로 외워 두면 선지를 빠르게 가를 수 있다.

운영 명령은 파일과 계정의 상태를 확인하고 바꾸는 수단이다. 명령 이름만 외우면 선지를 가르기 어려우므로, 각 명령이 다루는 대상도 함께 알아야 한다. 환경 변수나 디렉터리처럼 이름이 비슷하게 제시되는 대상은 이름과 용도를 짝으로 정리한다.

자세히

권한과 계정 점검

chmod와 umask는 적용 대상이 다르다. chmod는 이미 있는 파일의 권한을 바꾸고, umask는 앞으로 만들 파일과 디렉터리에 적용할 기본 권한을 정한다. 시험에서는 선지가 기존 파일을 다루는지, 새로 만드는 파일을 다루는지 먼저 살펴본다.

계정 점검에서는 리눅스의 기본 보안 점검 항목이 여러 개 출제된다. 관리자는 원격 root 계정 접속을 제한하는 것이 권장된다. /etc/passwd 파일의 소유자와 권한 설정을 확인하는 일도 리눅스의 기본 보안 점검이다. 소유자가 없는 파일과 디렉터리는 관리자가 삭제하거나 소유자를 변경하여 관리한다. 사용자 계정의 패스워드 에이징 정보를 바꾸는 명령은 chage이다. 계정 점검은 명령 하나로 끝나는 일이 아니라 계정과 파일의 소유 상태를 함께 살피는 일이다.

셸 문법과 환경 변수

셸 문법은 연산자와 따옴표를 구분해 살펴본다. 세미콜론(;)은 한 행에서 여러 명령을 구분하며, 명령은 왼쪽부터 차례로 실행된다. 파이프(|)는 왼쪽 명령의 출력을 오른쪽 명령의 입력으로 전달한다. bash에서 ~는 작업 중인 사용자의 홈 디렉터리를 나타낸다. 명령어를 찾는 위치는 환경 변수로 정해진다. 명령어를 탐색할 디렉터리 목록은 PATH가 나타낸다.

따옴표는 특수 문자의 기능을 어느 정도 유지하는지에 따라 구분한다. 큰따옴표 안에서는 달러 기호 등 일부 특수 문자의 기능이 남아 있다. 모든 특수 문자의 기능을 무시하는 따옴표는 작은따옴표이다. bash에서 큰따옴표 안에 쓴 변수는 변수 값으로 치환되어 출력된다. 따라서 같은 변수라도 따옴표 종류에 따라 결과가 달라지는지를 따옴표 종류별 처리 기준으로 판단한다.

파일 찾기와 파일 관리

find의 -name 옵션은 파일 이름 패턴을 기준으로 파일을 찾는다. find는 옵션마다 뒤에 오는 값이 다르므로 이름 옵션과 권한 옵션을 구분해 익힌다. mv는 파일 이름을 바꾸거나 파일을 옮기는 명령이다. rm은 파일과 디렉터리를 삭제하고, ls는 목록을 보여준다. fsck는 파일 시스템의 오류를 검사하고 문제가 있으면 복구하는 리눅스 명령이다. 파일 관리 명령은 동작을 기준으로 짝지어 외운다.

이어지는 내용

로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 절 읽기