Major Study./System hacking

시스템 보안 02.부팅초기화 스크립트 작성 문제

sosal 2009. 10. 1. 17:00
/*
 http://sosal.tistory.com/
 * made by so_Sal
 */

보안모니터링 프로그램 secure agent를 컴파일하여 실행파일을 얻었다.
그런데 이 실행파일은 daemon형태로 시스템에서 항상 실행되어야 하는 프로그램이다.
시스템이 부팅시마다 secure agent가 실행될 수 있도록 완전한 부팅 스크립트를
작성하여 적절한 위치에 설치하시오.
현재 secure agent 데몬의 실행파일 경로는 /usr/local/bin/sagentd이며,
설치하고자 하는 시스템은 solaris이다.


데몬이란 ? //
background에서 시스템을 위해 움직이는 프로그램을 말한다.
사용자의 여러가지 요청에 서비스하기위해 항시 돌아가는 프로세스

문제의 요지는? //
"시스템이 부팅시마다 실행될 수 있도록 적절한 위치에 설치"

.~rc라는 파일을 우린 많이 봐왔다.
.bashrc 는 bash가 실행될때 설정요소들을 자동적으로 처리해주는 설정파일,
.vimrc   는 vim이 실행될때 역시 자동으로 설정해주는 파일.

사실 rc는 resource의 약자입니다..

/etc/rc.d 파일을 가봅니다.

제 리눅스 CentOS 5.3에는 0~6까지 rc와 init.d라는 디렉토리가 있네요

/etc/rc.d/init.d :: 데몬실행과 관련된 스크립트 파일들이 모여있는곳.
이 파일에 있는 스크립트 파일은 service 명령이 가능.

문제에서 주어진 solaris는 rc0.d ~ rc3.d , rcS.d가 존재하네요.
rc 뒤에 숫자는 런 레벨을 뜻합니다.

====================== Run Level ======================

level0 : BIOS 수준 (솔라리스가 운영되지 않는)에서의 작업을 레벨 0이라고 합니다.
//솔라리스에서 제공되는 서비스는 전혀 존재되지 않습니다.

level 0
솔라리스가 운영되지 않는 바이오스 수준에서 여러가지 작업을 할 경우에 런 레벨 0을 사용합니다.
솔라리스에서 제공되는 서비스는 전혀 존재하지 않는다.

level S, s (single user mode)

솔라리스에서 가장 기본적인 서비스만 제공, 기본 디렉토리중 마운트 포인터로 설정된 파일시스템만 마운트되고 다른 파일시스템은 마운트 되지 않습니다.
네트웍은 다른 시스템에 접속해서 작업하는 것은 가능하나 다른 시스템에서 현재 시스템으로 접속은 불가능하며 Root 사용자 외에 어떤 사용자도 존재할수 없습니다.

이 다음의 runlevel은 아래 출처 블로그를 찾아 들어가시면 아주 자세하게
내용을 볼 수 있습니다.

http://blog.naver.com/khc9981?Redirect=Log&logNo=50006793007


[출처]
solaris Run level|작성자 찰스
====================== Run Level ======================

다중 사용자 모드 level3 이 우리가 원하는 Run Level 입니다.

--
보통 init.d 에 데몬 프로그램을 놓고, rc3.d (shell mode) 이나 rc5.d (xwindow mode)
에 심볼릭 링크를 걸어 자동 실행하게 끔 합니다.
제가 문제를 풀때 sagentd 심볼릭 링크를 rc3.d 에 S88sagentd란 이름으로
저장해 놨었는데, /etc/rc.d/rc3.d/S89sagentd을(를) 열 수 없다고 뜨네요..
그래서 sagentd가 있는 원래 파일 자체를 실행시키는 스크립트를
rc3.d에 놓기로 했습니다.
cat >> S89sagentd
/usr/local/bin/sagentd
^c (ctrl c)

S89sagentd 라는 파일을 실행파일로 바꾸기 위해
chmod 744 S89sagentd (또는 실행 가능한 다른 권한) 으로 권한을 바꿔줍니다.

이제부터 sagentd는 부팅될때 자동으로 daemon 형태로 실행될것입니다.

finish 입력. 인증패스워드 획득