Chap9. 소프트웨어 관리 (Chap9중 일부 9.5) 05. 소프트웨어 컴파일 gcc : 기능)C언어 컴파일러 패키지 aptitude show gcc : gcc설치 vi hello.c : hello라는 이름의 c파일 작성 gcc hello.c : hello라는 이름의 c파일 컴파일하기 a.out : 컴파일 후 자동으로 만들어지는 실행파일명 ./a.out : 해당 실행파일 실행하기 **파일 실행 시에는 현재 경로까지 같이 써주어야 함 gcc -o hello hello.c : 컴파일 시 옵션 사용해 실행파일명을 지정할 수 있음 make : 기능) makefile의 내용을 실행함. 이를 활용해 makefile파일에 설정된 정보에 따라 여러 소스 파일을 컴파일해 링크해서 하나의 실행파일로 만들도록 할 수 있..
Linux
Chap15. 리눅스 보안의 기초 01. 정보보안의 기초 물리적 / 기술적 / 관리적 보안 : 보안의 다양한 측면 기밀성, 무결성, 가용성 : 보안은 정보를 보호하면서 이 세가지를 유지하는 것 CIA삼각형 Confidentiality기밀성 : 허가받은 사용자만이 접근 가능 Intigrity무결성 : 정보가 변조되지 않았음을 보장하는 것 Availability가용성 : 필요할 때에 허가된 사용자가 정보에 접근할 수 있는 것 보안 기본 조치 불필요한 서비스 통제 : 꼭 필요하지 않은 서비스 포트는 차단. 불필요한 서비스를 제거하거나 방화벽에서 패킷을 필터링하는 방법을 함께 활용하는 것이 바람직 소프트웨어 패치 실시 : 패치가 나오면 즉시 설치하기 주기적 점검 백업 : 주기적으로 하여 문제 발생 시 빠른 복구..
Chap14. NFS, 삼바Samba 01. NFS NFS (Network File System) : 네트워크를 통해 다른 시스템의 디스크를 연결하여 사용하는 것 [서버에서] sudo apt-get install nfs-common nfs-kernel-server rpcbind : NFS패키지 설치. /etc/exports : NFS서버 설정 파일. 클라이언트에 제공할 디렉터리와 클라이언트 주소+NFS옵션을 나열함 chmod 707 /home/share : 클라이언트에 제공할 디렉터리를 만들고 해당 디렉터리의 권한 변경 후 위 파일에 기록 rw : NFS서버 디렉터리에 읽기, 쓰기를 모두 허용한다는 NFS옵션 sudo systemctl restart nfs-kernel-server : NFS서버 재시작 ..
Chap13. DB서버, 웹서버 01. 데이터베이스 데이터베이스 : 관련성을 가진 데이터들을 데이터 간의 주복성을 최소화 해서 체계적으로 모아둔 것 관계형 데이터베이스 : 데이터를 테이블로 표현. SQL(Strudtured Query Language) 로 조작. 데이터 베이스 에는 하나 이상의 테이블들이 있음 필드 = 컬럼column = 열 레코드 = row = 행 = 튜플(터플, tuple) 키 : 각 레코드를 구분할 수 있는 필드값. 중복불가. 기본키PK 등이 있음 varchar(10) / char(10) / int / float / date / date / time : 테이블 필드의 자료형들 varchar(n) : 최대 n개의 크기를 가질 수 있는 가변variable 문자열. char와 달리 현재 ..
Chap12. 원격 접속, FTP 01. 텔넷과 SSH telnet : 기능)원격에서 리눅스에 접속하는 프로그램. 텔넷 서버와 텔넷 클라이언트가 있어야 사용 가능 xinetd : 텔넷 서버를 동작시키는 슈퍼데몬 sudo apt install xinetd, sudo apt-get install telnetd : 데몬과 텔넷서버 설치 /etc/xinetd.conf : 이 파일에서 xinetd의 설정을 함 sudo systemctl start xinetd : 데몬 시작(ps -ef | grep xinetd 로 작동 확인) telnet 0 또는 telnet localhost : localhost(현재 내 컴퓨터)에 있는 텔넷서버에 접속(한 컴 내에 클라이언트와 텔넷서버가 같이 있는 상황. 0말고 0.0.0.0도..
Chap11. 네트워크설정 01. 네트워크 기초 프로토콜 : 컴퓨터 간 데이터를 어떻게 주고받을 것인가에 대한 통신 규약 TCP/IP프로토콜 : 인터넷이 따르는 프로토콜. 5단계 중 전송계층 프로토콜 TCP와 네트워크 계층 프로토콜 IP를 의미. 5계층으로 이루어짐. ATNLP 아래부터 1계층~5계층 Application응용 계층 : 사용자가 사용하는 응용프로그램. (포트번호 : 응용프로그램들을 구별하기 위한 번호).데이터 출발. Transport전송 계층 : 응용프로그램(포트번호 사용)으로 데이터 전달. TCP 프로토콜 사용. 데이터를 패킷으로 자름.(TCP=어떻게자를까). Network네트워크 계층 : 주소 관리, 경로 탐색. IP프로토콜 사용. 패킷별로 서버쪽의 IP주소를 붙임(IP프로토콜의 일) ..
Chap10. 사용자 관리 01 사용자 계정 관련 파일 /etc/passwd 파일 : 사용자 계정 정보 저장 파일 구조 - 로그인 ID : x : UID : GID : 설명 : 홈 디렉터리 : 로그인 셸 GID에는 기본그룹. x는 사용자 암호를 저장하던 곳 (/etc/shadow 파일에 암호 저장) UID가 같으면 리눅스는 같은 사용자로 판단 /etc/shadow 파일 : 사용자 암호 정보 저장 파일 구조 - 로그인 ID : 암호 : 최종변경일 : MIN : MAX : WARNING : INACTIVE : EXPIRE : Flag 한번 변경(설정) 후 MIN날 수 이상, MAX날 수 이하로 사용해야함. WARNING 날 수 전부터 알림. INACTIVE날 수 까지는 날짜가 지나도 사용 가능(봐줌). Fl..
Chap7. 파일 시스템과 디스크 관리하기 02 리눅스 파일 시스템의 구조 파일을 inode로 관리 디렉은 파일의 목록을 가지고 있는 파일 특수파일로 장치에 접근가능 ext4 파일 시스템 구조 블록그룹 : 파일 저장의 단위인 블록(4kb)을 그룹으로 묶은 것 블록 그룹 0 : 중요정보 블록 그룹 a : 블록 그룹 0 중요정보 복사 블록 그룹 b : 데이터 저장 - 데이터블록 비트맵,inode비트맵(블록과 inode의 사용지도) / inode테이블,데이터블록(파일의 inode와 데이터) 더 자세한 구조 이름까지 외워야 할까....? inode 구조 파일의 정보 + 블록 주소들... -> 블록주소마다 데이터를 담은 블록있음. 공간이 모자라면 블록에 또 블록주소들이 있음. 이렇게 단계에 따라서 직접블록/간접 ..
Chap6. 프로세스 관리하기 01 프로세스의 개념 프로세스 : 현재 실행중인 프로그램 프로세스의 부모-자식 관계 : 부모는 자식을 생성, 자식을 실행이 끝나면 부모에 결과를 돌려주고 종료. PID : 각 프로세스에게 부여되는 고유번호 데몬 프로세스, 고아 프로세스, 좀비 프로세스 등.. 02 프로세스 관리 명령 ps -ef 또는 ps aux : 프로세스 목록 +모든 프로세스(entire) +상세정보 ps -u user1 : +user1의 프로세스 목록 ps -p 2283 : +PID가 2283인 프로세스 목록 ps -ef | grep bash : 프로세스 목록 결과에서 bash라는 문자열 검색해 해당하는 행들만 출력 pgrep -x -l 패턴 : 패턴에 해당하는 프로세스 검색해 그들의 PID 출력 +정..
Chap5. 파일 접근 권한 관리하기 01 파일의 속성 -rw-r--r-- 1 root root 223 11월 8 23:13 /etc/hosts : 파일의 종류/접근권한/하드링크개수/파일소유자/파일소유자그룹/파일크기byte/파일수정일시/파일경로 file : 파일 종류 -, d : 일반파일/디렉 groups : 해당 사용자 그룹 모두 보여줌 02~4 파일의 접근 권한 / 접근권한 변경 접근권한 rwx 읽기, 쓰기, 실행 권한 in 디렉 : ls가능/디렉 내 파일 생성 및 삭제 가능/cd로 들어갈 수 있음.파일을 복사 및 이동 가능 chmod -R : 접근권한 변경 +하위디렉까지 기호모드 u g o a : 소유자/그룹/기타/all(생략 시 all) + - = : 부여/제거/통설정 r w x ex) chmod..
01 셸의 기능과 종류 02 셸 기본 사용법 기본 셸 바꾸기 chsh -s 경로 사용자명 : (change shell) 사용자의 기본 셸을 경로에 저장된 셸로 바꾼다. echo : 문자열 출력 printf : 형식에 따른 문자열 출력 printf "%d + %d = %d\n" 10 10 20 특수문자 * : 0개이상 모든 문자열 ? : 1개 문자열 [문자들] : 괄호안의 문자들 중 1개 [0-9], [A-Za-z] : 모든 숫자/모든 알파벳 한 글자 ; : 명령어 여러개 구분 명령1 | 명령2 : 명령1 결과를 명령2에 입력으로 전달 ' ' : 완전 문자열 취급 " " : 특수문자 기능함 ` ` : 문자열 안에 `명령어` 끼워넣기 \특 : 특수문자 문자열 취급 > >> < : 파일 출력 덮어쓰기/추가하기..
Chap3. 문서 편집하기 편집기 종류 vi : 화면 단위 편집기. 모드형 편집기. vi 사용법 vi 파일명 : 해당 파일 편집 시작. 파일명 없을 시 빈 파일 i, a, o : 입력모드로. 현재커서/다음커서/다음행 위치부터 입력 r, #cw, #s, cc, C : 한글자/#단어/#글자/한 행/현재부터 행 끝까지 수정. 완료 esc #x, #dw, #dd, D : #글자/#단어/#행/현재부터 행끝까지 삭제(잘라두기) #yw, #yy : #단어/#행 복사 p, P : 아래행/위행에 붙이기 "ayy -> "ap : 네임드버퍼. a~z버퍼에 한 행 복사 붙이기 . : 직전 명령 반복 실행 u U : 직전/해당 행 명령취소 커서 이동 키 h j k l : 왼 하 상 오 ^ $ : 행의 맨 처음, 맨 마지막 h ..
Chap1. Chap2. 디렉터리와 파일 사용하기 파일의 종류와 기호 일반파일 (없거나 *) : 텍스트, 이미지, 실행파일(*) 등 심벌릭링크 (@) : 원본 파일에 다른 이름을 붙인 것(바로가기) 디렉터리 (/) : 리눅스에서는 디렉터리도 파일임 장치파일 : 리눅스에서는하드디스크, 키보드 등 각종 장치도 파일로 취급 파일명에는 알파벳, 숫자, -, _, . 만 사용 가능 파일명이 . 로 시작하면 숨김파일 파일 = 파일명 + inode + 데이터블록 inode : 외부에는 번호로, 내부에는 ls -l상세정보들. ls -i로 확인. inode번호가 같으면 같은 파일. 디렉터리 계층 구조 / : 루트. 모든 디렉터리의 출발점. 절대 경로는 항상 /로 시작함. . : 현재 디렉터리(작업 디렉터리) .. : 상..