개요
- 핀란드의 리누스 토발즈(Linus Torvalds)에 의하여 1991년에 개발되었으며 처음에는 인텔 CPU(80386)를 장착한 컴퓨터(PC)용으로 개발
- 현재 인텔 CPU가 아닌 다른 CPU를 장착한 컴퓨터와 워크스테이션까지 이식되고 있음
- 리눅스 사용자는 점차 늘어나고 있으며 개인용보다는 서버용 운영체제로 사용
특징
- 다양한 플랫폼(Platform)에서 실행되는 다중 처리 운영체제로 다중 작업, 다중 사용자 환경
- 커널과 라이브러리 운영에 필요한 기본 유틸리티와 응용 프로그램으로 구성
- 대부분 프로그램이 공개 소스와 공개 프로그램으로 구성
- 프로젝트 개발 그룹에 의하여 인터넷에 공개 소스로 배포
- 기본 구조가 유닉스와 유사하며 안드로이드나 임베디드 커널 등으로 많이 사용
- 파일 시스템에 오류가 발생할 때 유닉스의 파일 시스템보다 강력한 기능으로 데이터 복구 가능
- C언어로 작성되어 이식성, 확장성, 개발성이 뛰어남
X-윈도우 시스템
- 네트워크 기반의 그래픽 환경 : 프로그램 작성 시 가장 많은 종류의 컴퓨터에서 구동될 수 있을 정도로 이식성이 뛰어남. 스크롤바, 아이콘, 색상 등 그래픽 환경에 필요한 자원들이 특정한 형태로 정의되어 있지 않음. 디스플레이 장치에 의존적이지 않으며 서로 다른 이 기종을 함께 사용함
- 서버/클라이언트 방식 : 기본적으로 클라이언트는 응용프로그램을 말하고 X 위도우 클라이언트는 직접적으로 사용자와 통신할 수 없음. 클라이언트는 서버로부터 키보드나 마우스 입력 같은 사용자의 입력을 얻을 수 있음. 즉 X클라이언트는 X서버가 제공하는 기능들을 이용하도록 작성된 하나의 응용프로그램. 서버는 응용 프로그램에서 수행된 결과를 출력 장치에 표시하는 역할을 맡고 있음
종류
- 레드햇 리눅스 : 배포판 중에서 가장 널리 알려진 것으로 레드햇 소프트웨어사에 의해 공급되고 있는데 가장 큰 특징은 알기 쉬운 인스톨러와 관리툴이라고 할 수 있음
- Debian : 비영리 조직에 의해 전 세계의 다양한 개발자들이 참여할 수 있도록 만든 데비안 프로젝트에 의해 발전됐는데 버그를 보고하거나 패키지를 개발하는 형태로 참가할 수 있음. 따라서 데비안 프로젝트는 Linux가 개발된 과정을 거쳐 왔음. 가장 큰 특징은 패키지에 보안 취약점이 발견되면 바로 업데이트가 가능함
- 오픈 리눅스 : 미국에서 인기가 높은 오픈 리눅스의 가장 큰 특징은 NetWare와 접속성이 뛰어나다는 것으로, 구체적으로 NetWare에 탑재된 디렉터리 서비스인 NDS(Novell Directory Service)의 클라이언트 기능을 갖추고 있음
프로세스의 생성
fork( )와 exec( )
공통점
- fork( )나 exec( ) 모두 한 프로세스가 다른 프로세스를 실행시키기 위해 사용하는 시스템 호출
fork( )
- 새로운 프로세스를 위한 메모리를 할당. 그리고 fork( )를 호출한 프로세스를 새로운 공간으로 모두 복사. 이후 원래 프로세스는 원래 프로세스대로 실행되고 fork( )를 이용해서 생성된 프로세스도 fork( ) 시스템 콜이 수행된 라인의 다음 라인부터 실행
- exec( )를 호출한 프로세스의 메모리에 새로운 프로세스의 코드를 덮어쓰게 됨
- fork( )의 결과는 프로세스가 하나 더 생성되는 것. PID(프로세스 ID)도 완전히 다른 또 하나의 프로세스가 생성되는 것
exec( )
- fork( )처럼 새로운 프로세스를 위한 메모리를 할당하지 않고 exec( )를 호출한 프로세스가 아닌 exec( )에 의해 호출된 프로세스만 메모리에 남게 됨
- exec( )를 호출한 프로세스의 PID가 그대로 새로운 프로세스에 적용됨. exec( )를 호출한 프로세스
- exec( ) 실행의 결과로 생성되는 새로운 프로세스는 없음
암호 관리 체계
- 파일 안에 패스워드를 저장하여 관리하는 방식(관련 파일 : /etc/passwd)
- 파일은 관리자 계정만으로 읽을 수 있으며 패스워드를 암호화(MD5)하여 저장(관련 파일 : /etc/shadow)
- Shadow Password에 적용되는 시스템은 대부분 장착식 인증 모듈(PAM, Pluggable Authentication Module)을 통하여 /etc/shadow 파일에 접근
파일의 소유권과 접근 권한
디스크에 저장된 모든 파일과 디렉터리에 적용되는 정보
- 소유권과 접근 권한 확인 명령어 : #ls-l(7개의 필드로 구분 확인 가능)
- 소유권과 접근 권한 변경 명령어 : #chmod
'정보보안 > 시스템보안' 카테고리의 다른 글
유닉스/리눅스 보안 계정과 셸 보안 (0) | 2025.01.21 |
---|---|
유닉스/리눅스 보안 시스템 관리 (0) | 2025.01.20 |
유닉스/리눅스 보안 유닉스 2/2 (0) | 2025.01.18 |
유닉스/리눅스 보안 유닉스 1/2 (0) | 2025.01.17 |
접근통제 모델 (1) | 2025.01.16 |