System 23

[Linux] 원격 관리 서비스(Telnet, SSH)

한 가지 상황을 가정해보자, 만약, 사내에 리눅스 관리자가 나 한 명 뿐인데, 내가 휴가를 가야하는 상황이라면 어떻게 할까? 휴가를 포기하는 과감한 결정을 내려야 할까? 이런 상황에서 우리의 황금같은 휴가를 지켜줄 수 있는 방법이 원격 관리 서비스(Telnet, SSH, RDP..)이다.   1. Telnet Telnet은 CUI(CLI)와 평문 통신 기반의 원격 관리 서비스(프로토콜도 Telnet)이다. 여기서 평문(plain text) 통신이란 통신 과정이 암호화되지 않음을 의미하기 때문에 Telnet은 보안이 중요한 환경에서는 부적절하다(이러한 이유로 요즘은 SSH가 광범위하게 사용되고 있다). Telnet은 기본 통신 포트로 TCP 23번을 사용하며, Telnet을 통해 서버, 네트워크 장비(라우..

System/Linux 2024.09.26

[Linux] 파일 시스템, 마운트

저번 포스트에 이어 리눅스에서 저장 장치를 관리하는데 필요한 개념인 파일 시스템과 마운트에 대해 설명하겠다.  1. OS에서 데이터를 관리하는 방법: 파일 시스템(File System)  파일 시스템(File System)은 운영체제에서 데이터를 저장하고 관리하는 체계로, 저장 장치(HDD, SSD..)에 파일이라는 단위로 데이터를 관리하고 배치하여 사용자가 데이터에 쉽게 접근 및 수정할 수 있게 해준다. 쉽게 말해, 어떤 물건을 어떤 캐비넷에 넣을지, 해당 캐비넷은 어떤 방에 둘지 정리 방법을 정하는 것(계층적)과 유사하다. 파일 시스템의 종류는 다음과 같다.  파일 시스템 종류1) EXT(Extended File System) - EXT4리눅스에서 주로 사용되는 저널링 파일 시스템이다(RHEL 6까지..

System/Linux 2024.09.25

[Linux] 저장소(Storage)관리

1. 저장소의 종류 자기 저장 장치 magnetic, 자기적 성질을 이용해 저장HDD(Hard Disk Drive)Tape Drive플래쉬 메모리(Flash Memory)flash, 전기적 방식으로 저장 SSD(Solid State Memory)USB Thumb Drive(USB memory)광학 저장 장치optical, 레이저 광을 이용해 저장CD/DVD/BlueRay  2. 하드 디스크의 물리적/논리적 구조 1) HDD의 물리적 구조 스핀들(회전축, Spindle moter)플래터를 일정하 속도로 회전시킨다(속도가 변하면 데이터를 읽고 쓰기 어렵다)노트북용: 5400rpm, 일반PC용: 7200rpm, 서버용: 10000rpm/15000rpm..디스크(Disk), 플래터(Platter)자력을 이용하여..

System/Linux 2024.09.24

[Linux] init? runlevel? target?

리눅스 기초 명령어에 관한 포스트를 보다보면 콘솔을 종료할 때 사용하는 init 0, 재부팅할 때 사용하는 init 6과 같은 명령어를 볼 수 있다. 과연 init이란 무엇일까? init을 알기 위해서는 먼저 runlevel에 대해 알아야 한다.   runlevel은 시스템이 부팅된 후 운영 상태(ex. 종료 상태, 재부팅 상태,  CUI..)를 의미한다. runlevel은 7가지로 구성되어 있는데 다음과 같다. runlevel상태 비고0Power off, 종료 모드 1Rescue, 시스템 복구 모드(단일 사용자 모드) 2Multi-User사용하지 않음3 Multi-User  4 Multi-User 사용하지 않음5Graphical, GUI 다중 사용자 모드 6Reboot, 재부팅  initd(init d..

System/Linux 2024.09.23

[Linux] 작업 예약 명령어: cron

한 회사의 서버 엔지니어가 되어 직원들이 출근하기 전인 오전 5시에 백업을 해야한다고 생각해보자. 하루 이틀 정도는 일찍 출근할 수 있겠지만 매일 해야 한다고 생각하면 정말 워라벨은 꿈도 꿀 수 없는 일이 따로 없을 것이다. 이러한 고통을 해소시켜줄 수 있는 소프트웨어가 바로 cron이다. cron은 주기적으로 반복되는 시스템 작업을 예약하는 소프트웨어이다. 주로 데몬인 crond, 설정 파일인 /etc/crontab을 이용해서 사용한다. *데몬(daemon): 백그라운드에서 항상 서비스를 제공중인 소프트웨어 작업 예약 관리 명령어 vi /etc/crontab/etc/crontab: 관리자(root)가 시스템 관리를 목적으로 설정한 예약 내용이 등록되는 곳 (시스템 전역에 영향) 임의의 사용자를 지정하여..

System/Linux 2024.09.21

[Linux] DHCP

1. 자동으로 네트워크 설정을 관리해주는 프로토콜, DHCP DHCP(Dynamic Host Configuration Protocol)은 자신의 네트워크 안에 있는 컴퓨터가 부팅될 때, 자동으로 IP주소, 서브넷 마스크, DNS 주소, 게이트웨이 주소를 할당해주는 프로토콜이다. 이 DHCP 덕분에 우리는 IP, 서브넷 마스크, 게이트웨이 등에 대해 세세하게 알지 못하지만, 큰 어려움 없이 인터넷을 이용하고 있다고 봐도 무방하다. 또한 DHCP는 정적(Static)으로 IP를 부여했을 때와 다르게, 컴퓨터를 사용하지 않을 경우, 해당 컴퓨터에 부여되었던 IP를 다른 곳에 사용할 수 있어, 적은 개수의 IP 주소로도 여러 명이 사용 가능하다는 장점이 있다(주로 공인 IP에서 유용).  DHCP는 UDP를 전..

System/Linux 2024.09.21

[Linux] 도대체 프로세스가 뭐야?(프로세스 관리 명령어)

1. 프로그램과 프로세스란? 프로그램과 프로세스의 정의는 다음과 같다. 먼저 프로그램은 "저장 장치(storage, HDD, SSD)에 저장되어 있는, 실행되지 않은 정적인 실행 파일"을 의미한다. 그리고 이러한 프로그램이 실행되어 메모리(Main Memory, RAM)에 올라오면 동적인 상태의 프로세스가 된다고 볼 수 있다.  2. 프로세스의 상태(State)Ready 프로세스가 모든 자원을 가지고, 실행 준비를 마친 상태. 아직 CPU에서 실행되지 않고, 준비큐에서 실행을 기다리는 단계Dispatch (Ready => Running) 스케줄러에 의해 선택된 준비큐 맨 앞에 있는 프로세스에게 프로세서를 할당하는 것 Interrupt (=time out) (Running => Ready)예외, 입출력, ..

System/Linux 2024.09.19

[Linux] 파일 소유권 & 권한 / 특수 권한

Linux 계정의 홈 디렉토리에 들어가서 ls -l 명령어를 쳐보면 다음과 같이 뜰 것이다.  이때 나오는 정보의 구성에 대해서는 디렉토리 권한 관련 포스트 에서 이미 언급하였지만, 다시 정리해보자면, 파일의 종류(-, d, l), 파일의 접근 권한(rwx --- r-x), 하드 링크, 소유자(root, user1), 소유그룹, 파일의 크기, MAC Time, 파일명으로 이뤄져 있다. 이번 포스트에서는 이중 파일의 접근 권한(Permission)과 소유권, 소유 그룹에 대해 설명할 것이다. 1. 소유권(File Ownership)? 권한(Permission)? 1) 파일/디렉토리의 권한을 변경할 수 있는 권리, 소유권 먼저 소유권(File Ownership)이란 해당 파일 또는 디렉토리의 권한을 누가 변..

System/Linux 2024.09.19

[Linux] Linux 서버를 통해 PC방에서 Tetris 대결을 할 수 있게 하자!

*해당 포스팅은 Rocky Linux 9.4를 기반으로 한 구성  정보입니다.*텍스트 기반의 터미널 용 테트리스(vitetris)를 설치하고, 실행하는 과정을 담은 엔지니어 노트입니다. 목표: Linux 서버에 터미널 용 vitetris를 설치하고, 해당 서버를 통해 PC방 내 컴퓨터에서 vitetris 네트워크 대전이 가능하도록 네트워크를 구성하라. 1. 네트워크 구성  1) PC방 내 PC IP 설정 및 라우터 설정 (신 PC방 기준) *TMI) PC방 내 PC의 IP주소는 모두 공인 IP이다. PC방에서 공인 IP를 사용하는데에는 여러 이유가 있는데, 그 이유는 다음과 같다. 일부 게임 서버는 중복된 NAT 변환을 통해 다수의 사용자가 하나의 공인 IP로 접속하면 제한을 걸거나, 접속을 거부하는 것..

System/Linux 2024.09.14

[Linux] 하드 링크 & 심볼릭 링크 / 파일 관리 명령어

1. 하드링크와 심볼릭 링크 하드 링크(Hard Link)같은 파일을 여러 이름으로 참조하는 방법같은 파일을 참조한 하드 링크끼리는 인덱스 노드(inode)를 공유한다 같은 하드 링크 파일인지 확인하는 방법: inode가 같은가? 다른 파일 시스템 간에는 별개의 inode 테이블을 참조하기 때문에 같은 파일 시스템 내에서만 하드 링크를 걸 수 있고, 파일 시스템 간 이동도 불가능하다파일을 처음 생성하게 되면 하드 링크 수는 1원본 파일을 삭제해도 하드 링크를 통해 파일에 접근 가능 (원본 파일과 하드 링크의 차이가 없다)하드 링크 파일을 만들면 실제로 파일이 만들어진 것처럼 보이지만 실제로는 용량이 없다별도의 파일이 생성되는 것이 아닌 이름만 추가되는 것ln 명령어로 하드 링크를 생성한다ln origin..

System/Linux 2024.09.12