예전것/시스템 보안2009. 5. 30. 04:05

문제:
학교 연구실에 있는 실험용 서버인 Linux 7.0 서버는 학생들이 많이 출입하는 실습실에 설치되어 있다.
Linux 시스템의 물리적 보안을 위하여 BIOS에 암호를 설정한 상태이며 학생들이 싱글 유저 모드로 부팅하여
root 패스워드를 바꾸지 못하도록 미리 패스워드를 sislilo로 설정하여라.

리눅스에도 윈도우즈 처럼 안전모드의 개념이 있는데,
이를 싱글모드라고 한다. 리눅스에서 싱글모드로 부팅하는 방법은 다음과 같다.

보통의 경우 부팅시에 GRUB부팅 메뉴에서 e를 눌러주면 부팅 편집 모드가 되어 다음과 같은 3줄이 뜨게 된다.

root ...
kernel ...
initrd ...

2번째 줄인 kernel 부분에서 다시 e키를 눌러 다시 편집 모드로 들어간 다음 (한 칸 띄고) single이라고 입력한 후 enter를 치고,b키를 눌러 부팅을 해주면 된다.

/****** 글 발췌 : http://www.ibm.com/developerworks/forums/thread.jspa?threadID=218871 
싱글모드로 부팅을 했다면 su명령으로 루트권한을 획득할 필요가 없지요.
왜냐? 싱글모드자체가 루트권한으로 접근이 된거니깐요..

그리고, 싱글모드로 부팅을 하려면 님처럼
/etc/inittab의 runlevel을 1로 바꾸어도 되지만.. 매년 싱글모드로 접근을 할 필요가 있을까요??

필요시 그래픽리로로 부팅시 ctrl + x로 해서
boot: linux 1 (or linux single) 로 부팅을 하면 되겠지요..

그리고, 싱글모드로 부팅을 해서 루트권한을 획득하지 못하게 하려면
/etc/lilo.conf 에 패스워드를 넣어주면 되겠지요.
password=xxxxxxx
그런데, 이렇게 넣어두면 ctrl + x로 부팅시 마다 매번 패스워드를 물어봅니다.

단지 싱글모드로만 부팅을 할때 패스워드를 물어보게 하려면
restricted을 패스워드 아래에 넣어주면 되겠군요..

또, /etc/lilo.conf를 일반계정에서도 접근이 가능하므로 접근하지 못하도록 하려면
# chmod 600 /etc/lilo.conf 를 하면 되겠군요..

참, lilo.conf를 바꾸면 항상
# lilo (or /sbin/lilo) 를 실행해 주어야 하는거 아시죠??