[Linux] 사용자와 그룹
컴퓨터 구조 & 운영체제/Linux2024. 11. 7. 17:13[Linux] 사용자와 그룹

사용자와 그룹리눅스에서 사용자와 그룹은 시스템 보안과 접근 제어의 중요한 요소이다. 리눅스는 다중 사용자 운영 체제로, 여러 사용자가 동시에 시스템에 접근할 수 있기 때문에 사용자와 그룹을 설정하여 각 사용자별로 권한을 제어할 수 있다. 슈퍼 유저(super user = root = system administrator)리눅스에서 슈퍼유저(Superuser) 또는 루트(root) 권한은 시스템의 최상위 권한을 갖는 계정을 의미한다. 일반적으로 root 사용자라고 불리며, 이 계정은 모든 권한을 소유하여 시스템의 모든 파일, 디렉토리, 설정을 수정할 수 있다. 루트 권한은 관리자에게만 허용되는 권한으로, 시스템 유지 및 보수에 필수적이다. 슈퍼유저는 리눅스 시스템에서 모든 작업을 수행할 수 있는 최고 권한..

[Linux] 파일 시스템(File System)
컴퓨터 구조 & 운영체제/Linux2024. 11. 6. 19:56[Linux] 파일 시스템(File System)

파일 시스템 계층 구조리눅스 파일 시스템은 계층적 구조를 사용하여 트리 모양으로 이루어져 있다.루트 디렉토리(/)를 최상위 디렉토리로 시작하여 그 아래에 다양한 디렉토리와 파일들이 존재한다. 대표적인 디렉토리는 다음과 같다/bin: 일반 사용자와 관리자 모두가 사용하는 기본 명령어가 포함된 디렉토리이다. ls, cp 등과 같은 시스템 명령어가 여기에 위치한다./sbin: 시스템 관리자 권한으로 실행해야 하는 실행 파일 위치한다./boot: 시스템 부팅에 필요한 파일을 포함하며, 커널과 관련된 파일들이 저장된다./dev: 디바이스 드라이버가 사용하는 디바이스 파일 디렉터리. 시스템의 모든 장치 파일들이 존재한다./etc: 시스템과 관련된 주요 설정 파일들이 위치하는 디렉토리로, 사용자 계정 정보, 네트워크..

[Linux] 리눅스 쉘 기본 명령어
컴퓨터 구조 & 운영체제/Linux2024. 11. 4. 20:37[Linux] 리눅스 쉘 기본 명령어

메뉴얼 조회매뉴얼 조회 명령어인 man 을 사용하려고 할 때 아래의 메시지가 나왔다.This system has been minimized by removing packages and content that arenot required on a system that users do not log into.To restore this content, including manpages, you can run the 'unminimize'command. You will still need to ensure the 'man-db' package is installed. 위 메시지는 시스템이 최소화(minimized)되어 man 페이지와 같은 비필수 패키지 및 콘텐츠가 제거된 상태라는 의미이다. 이러한 최소화된 ..

[네트워크 이론] 미시적으로 보는 네트워크
네트워크/네트워크 이론2024. 10. 17. 00:05[네트워크 이론] 미시적으로 보는 네트워크

이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.프로토콜(protocol)현대 인터넷은 호스트 간 패킷을 교환하는 방식으로 대부분 패킷 교환 방식을 사용한다.언어가 정보를 주고받기 위해 사회적으로 합의된 의사소통 방식이라면, 프로토콜은 노드 간에 정보를 올바르게 주고받기 위해 합의된 규칙이나 방법을 의미한다.즉, 서로 다른 통신 장치들이 정보를 주고받으려면 프로토콜이 통해야 한다. 우리가 인터넷을 이용할 수 있는 것은 모두 상대 호스트와 동일한 프로토콜을 사용하기 때문이다.다만 일상 속 언어와는 달리 통신 과정에서는 하나의 프로토콜만 사용하지 않는다. 일반적으로는 여러 프로토콜을 함께 사용한다. 모든 프로토콜에는 저마다의 목적과 특징이 있다.프로토콜..

[네트워크 이론] 거시적으로 보는 네트워크
네트워크/네트워크 이론2024. 10. 16. 19:08[네트워크 이론] 거시적으로 보는 네트워크

이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.네트워크란 여러 장치가 서로 연결되어 정보를 주고받을 수 있는 통신망이다.네트워크는 그래프라는 자료구조 모양을 띄고 있다.그래프는 아래의 그림처럼 노드와 노드를 연결하는 간선으로 이루어진 자료구조이다. 네트워크의 기본 구조모든 네트워크는 노드, 노드를 연결하는 간선, 노드 간 주고 받는 메시지로 구성된다.노드는 정보를 주고받을 수 있는 장치, 간선은 정보를 주고받을 수 있는 유무선 통신매체로 이해하면 된다. 호스트(host)네트워크의 가장자리에 위치한 노드는 네트워크를 통해 흐르는 정보를 최초로 생성 및 송신하고, 최종적으로 수신한다.우리가 일상에서 사용하는 네트워크 기기 대부분이 여기에 속한다고 ..

DevOps/Docker2024. 10. 13. 05:31[Docker] 애플리케이션 종료시 Compose 자동시작

환경AWS EC2 (ubuntu) Docker Compose 로 여러개의 도커 컨테이너가 묶여있고, EC2 인스턴스로 배포된 상황에서 여러가지 이슈들로 인스턴스가 재부팅 되거나 애플리케이션이 종료될 수 있다.이때 재부팅되거나 배포한 애플리케이션이 종료되었을 때 자동으로 애플리케이션이 시작되게끔 할 수 있다.먼저 Docker Compose 애플리케이션 서비스 파일을 생성해야 한다.sudo vi /etc/systemd/system/docker-compose-app.service 이후 아래의 서비스 파일을 입력한다.[Unit]Description=Docker Compose Application ServiceAfter=docker.serviceRequires=docker.service[Service]Restar..

[Docker + SpringBoot] 스프링부트 로그 파일 남기기
DevOps/Docker2024. 10. 11. 02:06[Docker + SpringBoot] 스프링부트 로그 파일 남기기

개발환경SpringBoot v3.3.3AWS EC2 (ubuntu)RDSDocker ComposeGithubActions 로그를 파일로 저장하기(환경 분리 포함)스프링부트에서 local 환경과 prod 환경을 분리하여 로그를 남기는 방법은 아래의 글에서 참고하였다.https://blog.pium.life/server-logging/ Logback을 이용해 운영 환경 별 로그 남기기이 글은 우테코 피움팀 크루 '그레이'가 작성했습니다. 로깅이란 ? 우리가 처음 개발을 할 때 System.out.println(), cout blog.pium.life 이 글은 local 환경에서는 콘솔에서 로그를 확인할 수 있고 prod환경에선 info 로그와 error 로그 파일을 분리할 수 있는 설명이 담겨있다. 먼저 a..

[Docker + SpringBoot] Docker와 SpringBoot의 타임존 동기화
DevOps/Docker2024. 10. 9. 21:55[Docker + SpringBoot] Docker와 SpringBoot의 타임존 동기화

환경스프링부트 v3.3.3AWS EC2RDSDocker ComposeGithub Actions 문제 상황현재 내가 진행하고 있는 프로젝트에서 설정된 시간에 알람 시간을 설정하는 기능이 있다.DB에 저장할 때 기본값이 오전 8시인데 자꾸 9시간 뒤인 오후 5시로 설정되는 문제를 확인하였다.이렇게 9시간 차이가 나는 것은 보통 타임존 설정 문제인데, 나는 이미 타임존 관련 문제를 아래와 같이 세팅해둔 상태라서 더욱 당황했다. @PostConstruct 를 이용한 JVM 타임존 설정@SpringBootApplicationpublic class PromiseApplication { public static void main(String[] args) { SpringApplication.run(PromiseAp..

image