목록BASIC/LINUX (18)
cmod.ify
[ 환경 ]MSI 노트북CPU: AMD 라이젠 7 5700URAM: 16GBWi-Fi: RZ608(MediaTek MT7921 OEM) 칩셋GPU: Radeon Graphics(내장) 1. LINUX 공식 사이트에서 TLS 버전 다운 받기https://ubuntu.com/download/desktop 2. 최신 REFUSE 다운로드https://rufus.ie/ko/ Rufus - 부팅 가능한 USB 드라이브를 간편하게 만들기 rufus.ie 3. Refus 실행장치 - USB 꽂은 거 설정부팅 [선택] 눌러서 아까 다운 iso 파일 선택하기파티션 구성 : GPT - 대상시스템 자동 변경 4. BIOS 진입노트북을 끄고 다시 전원을 켜자마자 Del 키를 연타하여 바이오스 화면으로 들어감. 5. 필수 설..
1) 시나리오 및 주요 기능입력 데이터: 사용자 계정 리스트와 해당 패스워드 리스트.유효성 검사: 인자값(계정, 비번)이 입력되지 않으면 사용법을 출력하고 종료함.중복 체크: /etc/passwd 파일을 조회하여 이미 존재하는 계정인지 확인 후 생성함.반복 처리: for 문을 사용하여 리스트 내의 모든 사용자를 순차적으로 생성함.2) 관련 핵심 명령어useradd: 새로운 사용자 계정 생성.passwd: 계정의 비밀번호 설정. 스크립트 내에서는 echo "비번" | passwd --stdin "계정" 형태나 표준 입력을 활용함.wc -l: 결과값의 라인 수를 카운트하여 존재 여부(0 또는 1)를 판단함.3) 스크립트 코드 작성 (sudo nano adduser-script.sh)#!/bin/bashif ..
1. 개요정의: Unix, Linux, POSIX(MacOS 포함) 환경에서 사용하는 명령어와 프로그래밍 요소(if, for 등)가 결합된 인터프리터 기반 스크립트 언어임.특징: 컴파일 과정 없이 한 줄씩 읽어 실행하며, 시스템 자동화 및 일괄 처리에 강력함.2. 주요 쉘 종류sh: 쉘 스크립트의 기본이 되는 본 쉘(Bourne Shell).bash: 리눅스 표준 쉘. 본 쉘 기반에 C쉘과 코온 쉘의 기능을 통합함.ksh: 유닉스에서 주로 사용되는 코온 쉘.csh / tcsh: C언어와 유사한 문법을 가진 쉘.zsh: bash, ksh, tcsh의 장점을 모아 개선한 확장 쉘. 최근 MacOS 기본 쉘로 채택됨.3. 기본 문법 및 실행생성 및 작성확장자는 .sh를 사용함.파일 첫 줄에 #!/bin/bas..
1. 원격 접속 서버 (Telnet & SSH)멀리 떨어진 컴퓨터에 접속하여 명령어를 실행할 수 있는 서버 환경임.Telnet (텔넷)개요: 텍스트 기반 원격 접속 프로토콜 (TCP 23번 포트).특징: 설치가 쉽고 리소스를 적게 차지하지만, 데이터가 암호화되지 않는 평문 전송 방식이라 보안에 취약함.활용: 오늘날에는 보안 문제로 SSH가 대체했으나, 엔지니어들이 특정 포트의 개방 여부를 확인하는 용도로 가끔 사용함. (telnet [IP] [포트])SSH (Secure Shell)개요: 보안이 강화된 원격 접속 프로토콜 (TCP 22번 포트). 모든 통신 내용을 암호화함.서버 설치 및 구동:설치: sudo apt install openssh-server실행: sudo systemctl start ssh..
1. C Programming (GCC & Make)리눅스 오픈소스 개발자들이 만든 표준 컴파일러인 GCC를 사용함. 우분투에는 기본적으로 포함되어 있으나, 없을 경우 간단히 설치 가능함.GCC 설치: sudo apt install gcc소스 코드 작성: vim helloworld.c(주의: 소스 코드 내 mina는 main의 오타이므로 수정 필요함)#include int main(){ printf("Hello World!"); return 0;}컴파일 및 실행: gcc -o helloworld helloworld.c -> ./helloworldMake 사용하기실제 애플리케이션은 수많은 파일로 구성되어 일일이 컴파일하기 번거로움. 이를 자동화해주는 도구가 Make임. makefile에 설정된 ..
1. 가상 네트워크 방식 선택NAT 네트워크: 외부 인터넷 연결이 가능하면서 가상 머신끼리 통신할 때 사용함.Internal Network (내부 네트워크): 가상 머신끼리만 통신 가능, 외부 인터넷은 차단됨(보안/폐쇄망 테스트용).Host-Only (호스트 전용): 호스트 PC와 가상 머신들만 묶는 방식임.일반적으로 'NAT 네트워크'를 가장 많이 사용함.2. NAT 네트워크 만들기 (환경 설정)VirtualBox 상단 메뉴: 파일(File) -> 도구(Tools) -> Network Manager 선택함.NAT Networks 탭 클릭 후 [Create] 버튼 눌러서 새 네트워크 생성함.네트워크 이름(예: MyTestNet)과 IP 대역(CIDR, 예: 10.0.2.0/24) 설정함.DHCP 지원 여..
1. 네트워크 및 TCP/IP 프로토콜 개요프로토콜 (Protocol) 정의컴퓨터 간 데이터를 주고받기 위한 통신 규약임.인터넷 환경에서는 TCP/IP를 표준 프로토콜로 사용함.TCP/IP 5계층 구조계층기능주요 프로토콜장비전송 단위응용 (Application)서비스 제공 응용 프로그램DNS, FTP, SSH, HTTPGatewayMessage전송 (Transport)데이터 전달 및 흐름 제어TCP, UDP-Segment네트워크 (Network)주소 관리 및 경로 탐색IP, ICMPRouterPacket링크 (Link)물리적 장치 제어 및 주소 매핑ARPSwitchFrame물리 (Physical)물리적 신호 전송케이블, 무선HUBBit2. 하드웨어 주소: MAC Address개념: NIC(네트워크 인터페..
1. 사용자 계정 정보 관리 파일리눅스에서 사용자 정보는 보안을 위해 여러 파일에 나누어 관리됨. 과거에는 /etc/passwd에 암호까지 저장했으나, 현재는 보안상 /etc/shadow에 별도 저장함./etc/passwd: 사용자 기본 정보모든 사용자가 읽을 수 있는 파일로, 계정의 기본 속성을 정의함.구조: 로그인ID:x:UID:GID:설명:홈디렉토리:로그인쉘주요 항목:로그인 ID: 최대 32자. 영문 소문자, 숫자, _, - 조합 가능 (단, - 시작이나 숫자로만 구성은 불가).x: 과거 암호 저장 위치. 현재는 암호가 /etc/shadow에 있음을 의미함.UID (User ID): 0(root), 1~999(시스템 계정), 1000 이상(일반 사용자).GID (Group ID): 사용자의 기본 그..
1. 리눅스 파일 시스템(File System) 개요파일 시스템은 컴퓨터에서 파일이나 데이터를 효율적으로 저장, 수정, 삭제, 관리하기 위한 체계임. 리눅스는 초기 Minix 파일 시스템을 사용하다가 고유의 ext(Extended File System) 시리즈를 개발해 사용해 왔으며, 최근에는 고성능 대용량 처리를 위해 XFS 등 다양한 시스템을 도입함.주요 파일 시스템 종류종류특징 및 지원 사양ext4- 리눅스 표준 파일 시스템- 최대 1EB 볼륨, 16TB 파일 지원- 디렉토리 개수 제한 대폭 확대 (64,000개)- 온라인 조각모음 및 저널링(복구) 기능 강화XFS- 실리콘 그래픽스 개발, 64비트 고성능 저널링 파일 시스템- 대용량 파일 및 고성능 I/O 처리에 최적화 (최대 16EB 지원)- 우..
1. 리눅스 부팅 시스템 개요정의: PC 전원을 켜는 순간부터 시스템이 완전히 동작하여 로그인 프롬프트가 출력될 때까지의 전 과정을 의미함.중요성: 부팅 시 필요한 서비스의 시작 순서를 결정하고, 장애 발생 시 원인을 파악하여 해결하기 위해 과정에 대한 이해가 필수적임.전체 흐름: 전원 ON → BIOS 단계 → 부트 로더(Boot Loader) → 커널 초기화(Kernel Initialize) → systemd 서비스 → 로그인 프롬프트 출력.1, 2단계(하드웨어 제어)는 리눅스 운영체제 자체와는 무관한 단계임.2. 부팅 단계별 상세 과정2.1 BIOS (Basic Input Output System) 단계역할: ROM에 저장되어 있어 ROM BIOS라고도 불리며, 키보드, 디스크 등 하드웨어 상태를 ..