X 윈도 X 윈도의 개념 및 특징 X 윈도의 역사 DEC, IBM, MIT가 공동으로 시작한 아데나 프로젝트의 일환으로 Bob Scheigler와 Jim Gettys가 1984년 최초 버전을 발표 XFree86 IBM 호환 시스템을 사용하는 유닉스 계열 운영체제를 위한 이 후 자유 소프트웨어 재단의 GPL 라이선스와 호환되지 않으면서 대부분의 개발자들이 X.org로 옮겨감 개발 중단됨 X.org X. org Server라 부름 소스가 공개된 자유 소프트웨어로 X Window System에 사용되는 디스플레이 서버 현재 거의 다 X.org Server 사용함 X 윈도의 특징 네트워크 프로토콜에 기반을 둔 그래픽 사용자 인터페이스 환경 X 윈도의 구조 X 윈도는 클라이언트/서버 구조로 되어 있고, 서로간의 ..
리눅스의 구조 부트 매니저 부팅을 도와주는 역할을 하는 프로그램 선택하여 부팅할 수 있도록 해줌 부트로더 하드디스크의 맨 앞쪽 영역인 MBR(Master Boot Record)에 설치 MBR은 부트 섹터로 디스크의 첫 번째 섹터에 해당하고 크기는 512 바이트 부트 섹터에 부트 매니저 프로그램과 파티션 정보가 기록 리눅스에서 사용하는 대표적인 부트 매니저 프로그램에는 LILO(Linux Loader)와 GRUB(Grand Unified BootLoader)가 있음 LILO는 특정 파일 시스템에 구애받지 않고 플로피 디스크와 하드디스크를 이용한 부팅을 지원 현재는 GRUB 씀. GRUB GNU 프로젝트에서 만든 부트로더 다양한 파일 시스템 지원 부팅 시에 커널 인자를 조정하여 동적인 부팅을 지원 메뉴 인터..
리눅스와 하드웨어 하드웨어의 이해 리눅스 설치를 위한 하드웨어 정보 파악 CPU 인텔사의 x86 계열 CPu 지원, 추가적으로 AMD, 모토롤라,SPARC 등 지원 정확한 모델 정보를 알아야 함 CPU 비트수 파악도 중요 CPU의 가상화 기술 지원 여부도 매우 중요 메모리(RAM) 메모리의 용량은 정확히 알고 있어야 함. 스왑 파티션 설정과 관련이 있어서 32비트 리눅스 운영체제에서는 페이징 기법의 차이로 4GB 이상의 램을 인식할 수 없음 64비트 리눅스 운영체제는 메모리 용량을 16TB 이상을 지원 하드디스크 드라이브 현존하는 대부분의 하드디스크 사용이 가능. USB, SSD도 가능 파티션 변경이나 설정, 스왑 설정 등 리눅스 시스템 ㅅ ㅏ용 중에 변경할 일 이 발생 /dev/hdx 파일 형식, /d..
리눅스 기초 리눅스의 철학 리눅스의 철학 처음 개발자인 리누스 토발즈의 주도하에 개발이 진행됨. GNU GNU's Not Unix 리철드 스톨먼을 주축으로 자유로운 스프트웨어를 희망하던 공동체들이 가장 먼저 유닉스를 모태로 개발을 시작. gcc, emacs, GNOME, GNU tar, bash, GRUB 등과 같은 다양한 분야의 응용 프로그램 만듬 FSF(Free Software Foundation)와 자유 소프트웨어 자유 소프트웨어의 생산, 보급, 발전시키기 위해 리처드 스톨만이 세운 비영리 조직. 자유 소프트웨어 프로그램을 실행시킬 수 있는 자유 프로그램이 어떻게 동작하는 지 학습하고, 필요에 따라서 프로그램을 개작할 수 있는 자유 무료 또는 유로로 프로그램을 재배포할 수 있는 자유 프로그램을 개선..
운영체제의 개요 컴퓨터 하드웨어와 컴퓨터 사용자 간의 매개체 역할을 하는 시스템 소프트웨어로 사용자가 프로그램을 수행할 수 있는 환경을 제공. 좁은 의미는 하드웨어와 응용 프로그램간의 다리 역할을 하는 커널을 의미, 넓은 의미에서는 커널, 미들웨어, 응용 프로그램 실행 환경과 사용자 인터페이스 프레임워크를 모두 포괄하여 정의 주목적은 컴퓨터 시스템을 편리하게 이용하는 것에 있고, 추가적인 목적은 PCU, 주기억장치, 입출력장치 등의 컴퓨터 하드웨어를 효율적으로 관리하는 데 있음. 운영체제의 이해 운영체제의 주요 역할 하드웨어 제어 작업의 순서 정함, 입출력 연산 제어 프로그램 실행 제어, 데이터 및 파일 저장 관리 사용자들 간의 하드웨어 자원 공유 시스템 자원을 스케줄링하여 효율적으로 활용 입출력을 쉽게..
네트워크 침해 유형 및 특징 네트워크 침해 유형 및 특징 DoS(Denial of Service) 공격 시스템이나 네트워크의 구조적인 취약점을 공격하여 정상적인 서비스를 할 수 없도록 방해하는 것. 과도한 부하를 발생시켜 데이터나 자원을 잠식. 파괴 공격, 시스템 자원 고갈 공격, 네트워크 자원 고갈 공격으로 분류. Ping of Death Ping을 이용하여 ICMP 패킷을 정상적인 크기보다 아주 크게 만들어 보낸는 공격 방법. ICMP Flooding의 일종. UDP Flooding UDP 패킷을 대량 발생시켜 특정 시스템의 서비스를 방해하는 공격. 소스 주소가 스푸핑된 시스템에서 UDP 패킷을 공격 대상이 되는 시스템에 대량 전송하여 네트워크 대역폭을 소모하는 형태로 공격이 이루어짐 TCP SYN ..
12. 제품 소프트웨어 패키징 제품 소프트웨어 패키징하기 사용자 중심의 패키징 수행 제품 소프트웨어 패키징의 개념 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정 제품 소프트웨어 패키징 적용 시 특성 전체 내용을 포함하는 메뉴얼 작성 버전 관리 / 릴리즈 노트 고객, 사용자 편의성 중심 모듈화 제품 소프트웨어 패키징을 위한 모듈 빌드 제품 소프트웨어 패키징은 모듈들을 통해 수행되므로, 최초 소스 개발 시 해당 모듈 단위 및 모듈화를 통해 제품 소프트웨어 패키징을 수행 소프트웨어 모듈 및 패키징 모듈화 개념 모듈을 이용하여 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 소프트웨어 설계 기법. 모듈화의 장점 프로그램의 효율적인 관리 소프..
11. 응용 SW 기초 기술 활용 데이터베이스 기초 활용하기 데이터베이스 종류 데이터베이스 데이터베이스 개념 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합 데이터베이스 종류 파일 시스템 종류 ISAM : Indexed Sequential Access Method. 자료 내용은 주 저장부, 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템 VSAM : Virtual Storage Access Method. 대형 운영체제에서 사용되는 파일 관리 시스템 계층형 데이터베이스 관리시스템(HDBMS; Hierarchical Database Management System) 데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스 접근 속도가 빠르지만, 종..
11. 응용 SW 기초 기술 활용 운영체제의 특징 운영체제의 종류 운영체제(OS; Operating System)의 개념 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어 한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영함으로써 사용자에게 편리성을 제공 컴퓨터 시스템과 사용자 간의 인터페이스 기능을 담당 운영체제의 종류 윈도즈 운영체제 MS-DOS의 멀티태스킹 기능과 GUI 환경을 제공하는 응용 프로그램으로서, 마이크로소프트사가 개발 윈도즈 운영체제 특징 그래픽 사용자 인터페이스(GUI) 제공 선점형 멀티태스킹 방식 제공 자동감지 기능 제공 OLE(Object Linking and Embedding) 사용 : 개체를 현재 작성 중인 문서에 자유롭게 연결..
10. 프로그래밍 언어 활용 기본 문법 활용하기 변수 활용 변수 : 어떤 값을 주기억 장치에 기억하기 위해서 사용하는 공간 식별자 : 프로그램의 구성요소를 구별하기 위한 기준 바인딩 : 변수와 변수에 관련된 속성을 연결하는 과정 선언 : 변수에 이름, 데이터 타입 등의 속성을 부여하는 작업 영역 : 이름이 사용되는 범위를 의미 할당 : 변수에 메모리 공간을 바인딩하는 작업 데이터 타입 : 변수가 가질 수 있는 속성 및 속성 값의 길이 연산자 : 데이터 처리를 위해 연산을 표현하는 기호 명령문 : 프로그램을 구성하는 문장으로, 지시 사항을 처리하는 단위 자료구조 개념 컴퓨터에 데이터를 삽입, 삭제, 수정하게 해주는 논리적인 공간 구조 자료 구조 분류 단순 구조 : 프로그래밍 언어에서 제공하는 기본 데이터 ..
가상화 관리 가상화 서비스의 이해 가상화의 정의 및 개요 한 컴퓨터의 물리적 시스템 자원인 CPU, 메모리, 디스크 등을 여럿으로 나누거나, 다수의 컴퓨터들의 물리적 자원을 하나로 묶어서 제공하는 기술 가상화의 기능 공유(Sharing) 다수의 많은 가상 자원들이 하나의 동일한 물리적 자원과 연결되어 있거나 가리키는 것 서버내의 논리적 파티셔닝(LPARs), 가상머신(VM), 가상 디스크, 가상 LAN(VLANs) 단일화(Aggregation) 공유의 반대되는 가상화 개념. 가상 자원은 여러 개의 물리적 자원들에 걸쳐서 만들어질 수 있으며 이를 통해 외견상 전체 용량을 증가시키고, 전체적인 관점에서 활용과 관리를 단순화시켜 줌. 에뮬레이션(Emulation) 물리적 자원 자체에는 원래부터 존재하지 않았지..
메일 관련 서비스 메일 관련 서비스의 이해 메일 서버의 개요 메일 관련 프로토콜 SMTP(Simple Mail Transger Protocol) : 인터넷에서 이메일을 보낼 때, 메일 클라이언트에서 메일 서버로 메일을 보낼 때 사용되는 프로토콜. TCP 25번 포트 사용. POP3(Post Office Protocol Version 3) : 서버에 도착한 메일을 클라이언트에서 직접 내려 받아 읽도록 해주는 프로토콜. 110번 포트 사용. 메일을 확인하면 서버로부터 메일을 클라이언트로 가지고 온 후 서버에서 해당 메일을 삭제함. IMAP(Internet Mail Access Protocol) : POP3와 마찬가지로 클라이언트 사용자가 메일 서버에 도착한 메일을 확인 할 때 사용하는 프로토콜로 143번 포..
9. 소프트웨어 개발 보안 구축 소프트웨어 개발 보안 설계 소프트웨어 개발 보안 설계 SW 개발 보안의 개념 소스 코드 등에 존재하는 보안 취약점을 제거하고, 보안을 고려하여 기능을 설계 및 구현하는 등 소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동을 말함. SW 개발 보안의 구성요소 기밀성 : 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성 가용성 : 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속 사용할 수 있도록 보장하는 특성 무결성 : 정당한 방법을 따르지 않고선 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성 SW 개발 보안 용어 자산 : 조직의 데이터. 조직의 소유자가 가치..
인증 관련 서비스 인증 관련 서비스의 이해 인증의 개요 하나의 서버에 사용자 관련 정보를 저장하고, 나머지 다수의 다른 서버에 사용자, 암호, 그룹 정보 등을 제공하는 서비스를 말함 NIS, LDAP, 액티브 디렉터리(윈도우용) NIS(Network Information Service)의 개요 Sun Microsystems사에서 개발 네트워크 기반으로 여러 가지 정보를 제공해 주는 서비스 하나의 서버에 등록된 사용자 계정, 암호, 그룹 정보 등을 공유하여 다른 시스템에 제공하는 서비스 초기에는 YP라는 이름으로 출시가 되어 관련 명령어들이 yp로 시작하는 계기가 됨 보안을 강화하고, 확장성과 유연성을 높인 NIS+를 발표 NIS+는 RPC(Remote Procedure Call)에서 데이터 암호화 및 인..
8. SQL 응용 절차형 SQL 작성하기 프로시저 프로시저의 개념 절자형 SQL을 활용하여 특정 기능을 수행할 수 있는 트랜잭션 언어. 일련의 SQL 작업을 포함하는 데이터 조작어를 수행. 프로시저 구성 선언부(DECLARE) : 프로시저의 명칭, 변수와 인수, 데이터 타입을 정의 시작/정의부(BEGIN/END) : 프로시저의 시작과 종료 제어부(CONTROL) : 순차적 처리, 조건문과 반복문을 이용 SQL : DML문, DDL 중 TRUNCATE 사용 예외부(EXCEPTION) 실행부(TRANSACTION) : 트리거에서 수행된 DML 수행 내역의 DBMS의 적용 또는 취소 여부를 결정하는 처리부 프로시저 구성 상세 선언부 CREATE [OR REPLACE] PROCEDURE 프로시저_명 파라미터_명..
웹 관련 서비스 웹 관련 서비스의 이해 웹의 개요 WWW(World Wide Web) 인터넷에 연결된 컴퓨터들을 통해 문서나 정보를 공유할 수 있도록 구성한 정보 공간이자 서비스 인터넷상에서 정보를 하이퍼텍스트 방식과 멀티미디어 환경에서 검색할 수 있는 정보검색 시스템 웹 브라우저라고 부르는 프로그램을 이용해서 탐색 HTML이라는 태그를 이용해서 만듬 웹 서비스 구성 요소 웹 서버 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아 정보제공자가 작성한 웹 페이지나 웹 문서를 전달하는 역할을 수행 아파치, IIS, Nginx, GWS, Cherokee, Lighttpd 등이 있음 로그 관리, 인증, 가상 호스팅, 대용량 파일 지원, 대역폭 제한 등의 기능 웹 문서 웹 서버 프로그램에서는 동적인 페이지..
7. 애플리케이션 테스트 관리 애플리케이션 테스트 케이스 설계 애플리케이션 테스트 케이스 작성 소프트웨어 테스트의 이해 소프트웨어 테스트 개념 개발된 응용 애플리케이션이나 시스템이 사용자가 요구하는 기능과 성능, 사용성, 안정성 등을 만족하는지 확인하고, 노출되지 않은 숨어있는 소프트웨어의 결함을 찾아내는 활동 소프트웨어 테스트 필요성 오류 발견 관점 오류 예방 관점 : 동료 검토, 워크스루, 인스펙션 품질 향상 관점 소프트웨어 테스트 원리 테스팅은 결함이 존재함을 밝히는 것 : 결함x 증명 못함 완벽한 테스팅은 불가능 개발 초기에 테스팅 시작 결함집중 : 적은 수의 모듈에서 대다수의 결함 발견 살충제 패러독스 : 동일한 테스트 케이스에 의한 반복적 테스트는 새로운 버그 발견 못함 테스팅은 정황에 의존적..
6. 화면 설계 UI 요구사항 확인 UI 요구사항 확인 UI 개념 넓은 의미에서 사용자와 시스템 사이에서 의사소통할 수 있도록 고안된 물리적, 가상의 매개체. 좁은 의미로는 정보 기기나 소프트웨어의 화면 등에서 사람이 접하게 되는 화면. UI 유형 CLI : 정적인 텍스트 기반 인터페이스 GUI : 그래픽 반응 기반 인터페이스 NUI : 직관적 사용자 반응 기반 인터페이스. 신체 부위를 이용. OUI : 유기적 상호작용 기반 인터페이스. 현실에 존재하는 모든 사물이 입출력장치로 변화할 수 있는 사용자 인터페이스. UI 설계 원칙 직관성 : 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 함 유효성 : 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 학습성 : 초보와 숙련자 모두가 쉽게 배우고 사용할 수..
시스템 분석 시스템 로그 분석 및 관리 시스템 로그의 개요 초기에는 syslog라는 패키지를 사용 syslogd라는 데몬이 /etc/syslog.conf 설정 파일을 기반으로 서비스별 로그 파일을 /var/log 디렉터리에 생성 최근에는 rsyslog(rocket-fast system for log processing) 패키지로 대체 rsyslog는 멀티스레드, TCP, SSL, TLS, RELP(Reliable Event Logging Protocol), 데이터베이스, 보내는 목록 제한, 메시지 일부 필터링, 출력 포맷 제어 등의 다양한 기능 제공 rsyslog 주요파일 /etc/rc.d/init.d/rsyslog : 데몬 /etc/rsyslog.conf : 데몬 환경 설정 /etc/sysconfig/..
5. 인터페이스 구현 인터페이스 설계 확인 외부, 내부 모듈 간 공통 기능 및 데이터 인터페이스 확인 인터페이스 설계서 이 기종 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템의 교환되는 데이터 업무, 송수신 주체 등이 정의된 문서. 인터페이스 목록 + 상세 데이터 명세 + 세부 인터페이스 정보. 인터페이스 목록 인터페이스 번호 및 인터페이스가 되는 시스템의 정보 및 관련 요구사항 ID를 목록 형태로 보여줌 인터페이스 명세 각 인터페이스 번호 당 인터페이스가 되는 데이터, 데이터 형식, 송수신 시스템의 정보 등을 구체화하는 문서. 인터페이스 목록에 있는 각 인터페이스의 상세 정보. 상세 기능 인터페이스 정의서 데이터 송, 수신 시스템 간의 데이터 저장소와 속성 등의 상세 내역 시스템 인터페..
장치의 설치 및 관리 장치의 설치 및 관리 모듈 프로그램이나 하드웨어 기능단위, 교환 가능한 구성부분. 보통 모듈이 로드되었다는 것은 커널 밖에 존재하던 해당 드라이버가 커널의 일부로 되었다는 뜻이고, 언로드하면 다시 커널과 별도로 존재. 리눅스 커널 모듈은 C 컴파일러로 만들어진 오브젝트 파일로서 '*.ko' 형태로 생성 각 시스템에서 가능한 모듈은 '/lib/modules/커널버전/kernel' 디렉터리 안에 생성 모듈관련 명령어 lsmod 리눅스 커널에 적재된 모듈 정보를 출력하는 명령 insmod 커널에 모듈을 적재하는 명령. 해당 모듈 파일이 존재하는 디렉터리까지 이동, 의존성이 있는 모듈인 경우에는 적재 못함. [사용법] $ insmod 모듈_파일명 rmmod 커널에서 모듈을 제거하는 명령. ..
4. 서버 프로그램 구현 개발환경 구축 개발환경 구축 개발환경 구축의 개념 구현될 시스템 요구사항의 명확한 이해가 필요 개발 도구와 서버의 선정이 이루어져야 하고, 개발에 사용되는 도구들의 사용 편의성과 성능, 라이선스를 확인 개발 도구의 분류 구현 도구 : 개발자의 코드 작성과 디버깅, 수정 등과 같은 작업을 지원하는 도구. ex) Eclipse, intelliJ, Spring Tool Suite, NetBeans, Visual Studio 테스트 도구 : 코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구 ex) xUnit, PMD, Findbugs, Cppcheck, Sonar 형상관리 도구 : 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구 ex) CVS, Sub..
3. 통합 구현 연계 데이터 구성 연계 요구사항 분석 연계 요구사항 분석의 개념 서로 다른 두 시스템 장치, 소프트웨어를 이어주는 중계 역할을 하는 연계 시스템과 관련된 요구사항을 분석하는 과정. 요구사항 분석 기법 인터뷰 체크리스트 : 시스템 운영 환경, 성능, 보안, 데이터 발생 주기 등 점검을 통해 요구사항을 도출 설문지 델파이 기법 : 전문가 지식을 통해 분석 브레인스토밍 : 소속된 인원들의 아이디어로 요구사항 분석 참고문서 코드 정의서 테이블 정의서 응용 프로그램 구성도 시스템 구성도 개체 정의서 데이터베이스 개념 모델링 단계에서 도출한 개체의 타입과 관련 속성, 식별자 등의 정보를 개괄적으로 명세화한 정의서 테이블 정의서 논리 및 물리 모델링 과정에서 작성하는 설계 산출물로 테이블을 구성하는 ..
3. 프로세스 관리 프로세스의 제어 프로세스 우선순위 명령행에서 'ps -l' PRI와 BNI가 있고, 이 두 항목이 프로세스의 우선순위와 연관 PRI는 운영체제에서 참고하는 우선순위 값으로 낮은 값일수록 우선순위가 높다. 인위적인 조작이 되지 않고, 시스템 상황에 따라 적절히 부여된다. NI 값은 root나 사용자가 조작하는 우선순위 값으로 -20부터 19까지 설정 가능하다. 이 값 역시 낮은 값일수록 우선순위가 높고, root만이 값을 낮출 수 있다.(관련 명령어로 nice, renice) 프로세스와 /proc 디렉터리 /proc 개요 가상 파일 시스템. 동작중인 프로세스 상태 정보 시스템 및 하드웨어 정보 확인 ps 명령시 이 디렉터리 사용 프로세스 생성시 이 디렉터리에 PID와 동일한 서브 디렉터..
2. 파일 시스템 관리 파일 및 디렉터리 관리 소유권과 허가권 소유권은 사용자 소유권과 그룹 소유권으로 나눔 허가권은 user, group, other로 나눔. 허가권은 10개의 영역으로 나눔. 첫 번째는 파일의 타입, 나머지9개는 각각 3개씩 나누고, 첫 세자리는 파일을 소유한 사용자 권한, 두 번째는 해당 그룹에 속한 사용자들 권한, 마지막은 그 외의 다른 사용자들의 권한. 각 세자리는 rwx(읽기, 쓰기, 실행)로 표시. 없는 경우 -로 표시. 파일의 종류 '-' : 일반파일 d : 디렉터리 l : 링크 파일 b : 블록 디바이스 c : 캐릭터 디바이스 p : named pipe(FIFO) s : 소켓 특수 권한 리눅스의 권한 체계는 3계층 3권한. 그러나 이걸로 원할한 시스템 운영 x.(일반 사용..
2. 데이터 입출력 구현 논리 데이터 저장소 확인 논리 데이터 모델 검증 논리 데이터 모델링 개념 데이터베이스 설계 프로세스의 기초 설계 단계로 비즈니스 정보의 구조와 규칙을 명확하게 표현할 수 있는 기법. 개념 모델로부터 업무 영역의 업무 데이터 및 규칙을 구체적으로 표현한 모델 논리 데이터 모델링 특성 포용성 정규화 완전성 독립성 논리 데이터 모델링 속성 개체 속성 관계 개체-관계 모델 현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위해서 가장 널리 사용되고 있는 모델. 개체, 속성, 관계로 기술한 모델. 개체-관계 다이어그램 기호 개체 : ㅁ 관계 : ◇ 속성 : Ο 다중 값 속성 : ◎ 관계 속성 연결 : - 정규화 정규화의 개념 관계형 데이터베이..
1. 사용자 관리 root 관리 사용자 분류 root 사용자 일반 사용자 : 로그인이 가능한 사용자, 시스템 계정 숫자 값 형태의 UID(User Identity)로 관리. root는 0이 할당되고 0번 사용자를 슈퍼유저로 인식 일반 사용자는 1번부터 부여. 시스템 계정 시스템의 필요에 의해 생성된 계정. vim, daemon, adm, game 등 root 계정 관리 다른 슈퍼유저가 존재하는지 점검. PAM을 이용하여 root 계정으로 직접 로그인을 막고, su 명령 사용 유도 TIMEOUT 설정 sudo 이용 사용자 계정 관리 사용자 생성 명령어 사용자 계정 생성: useradd [사용법] $ useradd [option] 사용자계정 이름 옵션 -p : 암호를 추가(--password) -d : 홈 ..
1. 요구사항 확인 현행 시스템 분석 현행 시스템 파악 현행 시스템 파악 개념 현행 시스템이 어떤 하위 시스템으로 구성되어 있고, 제공 기능 및 연계 정보는 무엇이며 어떤 기술 요소를 사용하는지를 파악하는 활동. 사용하고 있는 소프트웨어 및 하드웨어는 무엇인지, 네트워크의 구성은 어떻게 되어 있는지 파악하는 활동. 현행 시스템 파악 절차 구성/기능/인터페이스 파악 → 아키텍처 및 소프트웨어 구성 파악 → 하드웨어 및 네트워크 구성 파악 소프트웨어 아키텍처 여러 가지 소프트웨어 구성요소와 그 구성요소가 가진 특성 중에서 외부에 드러나는 특성, 그리고 구성요소 간의 관계를 표현하는 시스템의 구조나 구조체를 의미. 소프트웨어를 설계하고 전개하기 위한 지침이나 원칙 소프트웨어 아키텍처 프레임워크 소프트웨어 집약..