본문 바로가기

리눅스

리눅스 작업 스케줄 관리 Cron Cron cron은 일정한 날짜와 시간에 따라 사용자가 지정한 작업을 수행하는 리눅스 작업 스케줄러이다. cron 프로세스는 /etc/crontab을 읽어서 설정된 작업을 수행한다. cron은 보안 분야에서 중요하다. 첫 번째로 주기적인 점검, 업데이트가 필요할 경우 cron으로 스케줄 등록 후 자동으로 일정 주기마다 점검이 진행되게 할 수 있다. 두 번째로 공격자가 cron을 악용하여 cron 설정에 악성코드를 주기적으로 실행하게 만들어 악용할 수 있다. crontab을 통해 작업 스캐줄을 설정할 수 있다. [분 시 일 월 요일 명령수행유저 명령]의 순서로 작성하면 설정된 주기마다 명령을 수행한다. 더보기
리눅스 Booting, Run level 리눅스에서 전원이 들어오면 제일 먼저 하는 작업은 보조기억장치에 있는 운영체제의 커널을 주기억장치에 올리는 작업을 한다. 이때 사용된는 프로그램은 로더(Loader)이다. 로더 프로그램에서 주요 기능은 LILO(LInux LOader)가 한다. LILO는 리눅스의 부트로더인데 LILO 실행 시 '/etc/lilo.conf'라는 파일을 읽어서 실행된다. 하지만 최근에는 LILO 보다 GRUB 부트로더를 사용한다. '/boot/grub/grub.conf'라는 설정파일을 읽어서 실행된다. 우분투의 경우 '/boot/grub/grub.cfg'로 존재한다. 가끔 우분투 설치 시 GRUB를 찾을 수 없다고 나올 떄가 있는데 이때는 체험모드로 우분투 실행 후 bootrepair를 설치 후 해당 프로그램으로 GRUB를.. 더보기
리눅스 파일 시스템 구조 리눅스 파일 시스템 구조 리눅스 파일 시스템의 구조는 부트블록(Boot block)으로 시작되며 부트 블록은 컴퓨터 시스템을 부팅하기 위한 부팅에 관련된 이미지를 갖고 있다. 리눅스 운영체제가 처음 실행되면 부트블록을 제일먼저 읽어서 리눅스를 가동한다. 부트블록이 주기억장치에 모두 올라가게 되면 리눅스 운영체제는 제일 처음 init 프로세스를 기동하게 되고, init 프로세스의 PID는 1번이 부여된다. 부트 블록 : 파일 시스템으로부터 리눅스 커널을 적재시키기 위한 프로그램이다. 슈퍼 블록 : 슈퍼블록은 파일 시스템의 크기, 블록 수 등 이용 가능한 빈 블록 리스트와 빈 블록 리스트에서 그 다음 빈 블록을 가리키는 인덱스 정보가 있다. 이외에 inode 목록의 크기, 파일 시스템에 있는 빈 inode의.. 더보기
리눅스 구조 리눅스의 기능 작업 관리자(Task Manager) 작업의 생성, 실행, 상태관리, 스케줄링, 시그널 처리, 프로세스 간 통신 등의 서비스를 제공한다. 메모리 관리자(Memory Manager) 세그먼테이션, 페이징, Swap 서비스를 통한 물리 메모리의 가상 메모리를 관리한다. 파일 시스템 관리자(File System Manager) 파일 생성/삭제, 접근 제어, 디렉터리 관리, 슈퍼블록 관리 등의 서비스를 제공한다. 네트워크 관리자(Network Manager) 소켓, TCP/IP, 프로토콜 스택 관리 등의 서비스를 제공한다. 장치 관리자(Device Manager) 디스크, 각종 카드, 외부 인터페이스 등을 제어하는 드라이버 관리 서비스를 제공한다. 리눅스 운영체제의 핵심 구성요소 커널(Kernel.. 더보기
리눅스의 특징 리눅스 리누스 토르발스(Linus Torvalds)가 개발한 운영체제로 유닉스 기반의 오픈소스 운영체제이다. 리눅스는 기존 유닉스 서버와는 다르게 대형 서버를 위해 개발된 것이 아닌 개인용 컴퓨터나 워크스테이션으로 사용하기 위해 개발되었다. 이러한 리눅스는 오픈소스 라이센스 중 GPL이 적용된 상태이다. 오픈소스 라이센스는 GPL, LGPL, BSD, MIT 등 여러 종류의 등급이 있으며 그 중 GPL은 General Public License의 약자로 어떤 프로그램을 개발할 때 GPL 의 코드 일부를 사용하게 되면 해당 프로그램은 소스코드를 공개해야 한다. 이 후 유료로 판매해도 상관은 없다. 하지만 이렇게 소스코드가 공개되면 유료로 판매되는 해당 프로그램을 개조하여 더 좋은 성능의 프로그램을 만들어 .. 더보기