Linux
[Linux] 퍼미션(Permission) (3) : umask
Umaskumask는 user file creation mask의 약자로, 리눅스 및 유닉스 계열 시스템에서 파일이나 디렉터리가 생성될 때 기본적으로 적용되는 권한을 설정하는 명령어이다.이를 통해 새로 생성된 파일과 디렉터리의 기본 권한을 설정하고, 사용자와 그룹 간의 권한을 미리 제한할 수 있다. 파일과 디렉터리 권한의 기본 구성리눅스에서 파일과 디렉터리 권한은 세 가지 기본 권한과 세 가지 범주로 구성된다:권한 유형읽기 (r): 파일을 읽을 수 있는 권한쓰기 (w): 파일을 수정할 수 있는 권한실행 (x): 파일을 실행할 수 있는 권한사용자 범주소유자 (user): 파일의 소유자에게 부여된 권한그룹 (group): 파일 소유자가 속한 그룹에 부여된 권한기타 (others): 소유자와 그룹 외의 모든 ..
[Linux] 디스크 사용량 : du
dudu 는 disk usage의 약자로, 파일과 디렉터리의 디스크 사용량을 측정하고 보고하는 명령어이다. 현재 디렉토리 혹은 지정한 디렉터리의 사용량을 확인할 때 많이 사용한다. du 를 통해 특정 파일이나 디렉터리의 크기를 쉽게 확인할 수 있다.$ du .24 ./example46-go-1.18-generics-part2/example0224 ./example46-go-1.18-generics-part2/example0424 ./example46-go-1.18-generics-part2/example038 ./example46-go-1.18-generics-part2/example018 ./example46-go-1.18-generics-part2/generics-limitation104 ./exam..
[Linux] 디스크 여유 용량 : df
Linux 시스템을 사용하는 데 있어 디스크 공간 관리는 굉장히 중요하다. 서버가 멈추거나 느려지는 경우, 간혹 디스크 용량이 가득 차서 발생하는 경우가 있다. 이러한 상황은 로그 파일이 과도하게 쌓이는 등 여러 원인으로 인해 발생할 수 있다. 예를 들어 새로운 프로젝트를 진행하는 과정에서 모니터링 시스템이 아직 구축되지 않았을 때, 미처 확인하지 못한 디스크 용량이 가득 차서 문제가 발생할 수 있다. 또한, 폐쇄망 금융 IT 환경에서는 모니터링 시스템을 구축하는 것조차 불가능한 경우도 있다. 그러나 이러한 문제를 방치하면 심각한 장애로 이어질 수 있으므로, 디스크 사용량을 지속적으로 모니터링하는 것이 중요하다. 오늘은 여러 디스크 모니터링 명령어 중 하나인 df 에 대해 알아보자. dfdf 는 disk..
[Linux] 퍼미션(Permission) (2) : Special Permission (SetUID, SetGID, Sticky Bit)
Special Permission리눅스 시스템에는 파일이나 프로그램에 추가로 적용할 수 있는 특수 권한(Special Permission)이 있다. 특수 권한에는 setuid setgid stickybit 가 있는데, 기본적으로 접근하는 사용자의 권한은 기본 퍼미션을 따르게 된다. 퍼미션(Permission)의 작동 원리는 다음 글을 참고하면 된다. [Linux] 퍼미션(Permission) (1) : 작동 원리리눅스에서 작업을 하다보면 Permission Denied 오류 메시지를 한 번쯤은 본 경험이 있을 것이다. 오늘은 이러한 퍼미션(Permission)이 무엇인 지, 그리고 어떻게 작동하는지에 대해 알아보자. 퍼미션(Penayoungs.tistory.com 리눅스 시스템은 각 프로세스에 대해 다섯..
[Linux] 퍼미션(Permission) (1) : 작동 원리
리눅스에서 작업을 하다보면 Permission Denied 오류 메시지를 한 번쯤은 본 경험이 있을 것이다. 오늘은 이러한 퍼미션(Permission)이 무엇인 지, 그리고 어떻게 작동하는지에 대해 알아보자. 퍼미션(Permission)리눅스 시스템에서 퍼미션(Permission)이란 특정 파일이나 디렉토리에 대해 읽기/쓰기/삭제 등의 권한을 설정하여 파일 접근 권한을 제어하며, 파일을 보호하기 위해 사용한다. 파일의 퍼미션은 ls 또는 stat 으로 확인할 수 있다.# -l 옵션과 함께 사용한다.ls -altotal 0drwxr-xr-x@ 3 nayoung staff 96 Feb 25 2024 .drwxr-x---+ 68 nayoung staff 2176 Nov 9 13:47 ..drw..
[Linux] .bash_profile로 사용자 환경 커스터마이징하기
리눅스에서 .bash_profile은 사용자 환경을 설정하는 데 중요한 역할을 하는 파일이다. 로그인 shell을 사용할 때 실행되는 스크립트로, 사용자가 시스템을 자신의 필요에 맞게 커스터마이즈할 수 있도록 돕는다. .bash_profile 에 설정된 변수나 경로는 오직 해당 계정에만 적용되며, 다른 계정에는 영향을 미치지 않는다. 쉽게 말해, 특정 Linux 계정에서 자주 사용하는 변수가나 명령어들을 미리 설정해두고, 사용자가 로그인할 때 자동으로 환경을 구성해주는 역할을 한다. 파일의 위치.bash_profile은 사용자의 홈 디렉토리에 위치한다. 기본적으로 숨김 파일로 간주되어, 파일 이름 앞에 점(.)이 붙는다. 이 파일은 ls 명령어로는 보이지 않기 때문에, 숨김 파일을 확인하려면 ls -al..
[Linux] 사용자 관리 톺아보기
실제 업무 환경에서는, 솔루션이나 업무별로 계정을 세분화하여 철저하게 관리한다. 평소 권한과 관련된 요청이 빈번히 발생하는 데, 사용자 관리는 가장 기본적이면서도 굉장히 중요한 부분이라고 생각한다. 이에 따라, 리눅스 시스템 상에서 사용자들을 관리하는 방법을 톺아보고자 한다. 리눅스 계정 종류Linux는 사용자 중심의 시스템으로, 계정이 있어야 접속할 수 있다. 사용자를 root(관리자)와 일반 사용자로 구분하며, 각 계정은 UID(User Identity)로 관리한다.루트 계정 : 모든 권한을 가진 특별한 사용자시스템 계정 : 리눅스 설치 시 기본으로 생성되는 계정사용자 계정 : 실제 리눅스 사용자를 위한 계정루트 계정(Root Account)UID 값이 0으로 지정된 관리자 계정이다.리눅스 시스템에..
[Linux] Alpine Linux란?
Alpine Linux : BusyBox + APK(패키지 관리자) BusyBox는 리눅스 커널와 핵심 바이너리와 라이브러리만 포함 yum과 같은 패키지 관리자가 없어서, 소스코드 실행 파일을 직접 빌드해야함 일반적으로 임베디드 장치에 사용하기 위해 만듬 BusyBox 의 불편함을 해결하기 위해 만든 것이 바로 Alpine Linux이다. 단, Alpine Linux는 bash shell이 없고, 기본적으로 본 shell만 가지고 있다. $ docker run -it alpine:3 bash docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting c..
[Linux] shell 변수(variable) : 매개변수
shell 에서 변수를 선언할 때는 다른 프로그래밍 언어와 마찬가지로 = 을 사용한다. 쉘에서 스크립트로 매개변수를 보내줄 수도 있는데, 규칙은 아래와 같다 $0 : 현재 쉘 스크립트의 이름 $# : 위치 매개변수의 총 개수 $* : 모든 위치 매개변수 $@ : 큰 따옴표를 사용하였을 때를 제외하고는 $*와 동일한 의미 $1 ... ${10} : 사용가능한 위치 매개변수 a.sh 을 다음과 같이 작성하였다. #!/bin/sh echo "\$MSG = $MSG" echo "\$@ = $@" echo "\$0 = $0" echo "\$1 = $1" 실행할 수 있는 권한을 부여하고, shell script를 실행시켜보자. $ chmod +x a.sh $ ./a.sh $0은 shell script의 이름이 할당..
리눅스 인프라 구축을 통한 WordPress 구현하기
✔️ 프로젝트 목적 및 환경·구성 목적 리눅스 인프라 구축을 통한 wordpress 구현 인프라 구축환경 Wordpress 웹 서버 : apached PHP : 동적 컨텐츠 이용 DB 서버 : MariaDB DNS 서버 : named 서버 구성 웹 서버 (apache + PHP + wordpress) DNS 서버 DB 서버 ✔️ DB서버 패키지 설치 및 네트워크 설정 릴리즈 버전 확인 [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) yum 업데이트 [root@localhost ~]# yum -y update ... MariaDB.repo 파일 생성 vi에디터를 통해 해당 내용 저장 [root@localhost..
[Linux] 데이터베이스 SQL : DML(Data Manipulation Language)
📌INDEX 데이터베이스란? 데이터 베이스 설치 및 설정 SQL 문법 SQL 문법의 분류 WHERE 조건 LIKE와 함께 사용하는 와일드 문자 DML 구문 SELECT INSERT UPDATE DELETE ✔️ 데이터베이스란? 데이터를 효율적으로 저장/관리하기 위해 사용 1950년대에 미국에서 처음 사용(용어) 데이터베이스 종류 계층형 DB 관계형 DB 가장 광범위 하게 사용 ex) 오라클 DB, MariaDB 등 NoSQL ex) AWS DynamoDB 등 데이터 베이스의 특징 실시간 접근성 지속적인 변화 동시 공유 내용에 대한 참조 데이터 논리적 독립성 용어 설명 DB : 데이터베이스 DBMS : 데이터베이스 관리 시스템 DBA : 데이터 베이스 관리자 테이블 : 데이터가 저장된 객체 컬럼(Colum..
[Linux] 리눅스 Web 서비스 : https
👉미리 보고 와야할 글 📌INDEX HTTPS란? HTTPS 구성 및 실습 ✔️ HTTPS란? HTTPS(HTTP Secure) HTTP protocol 의 암호화된 버전 클라이언트와 서버 간의 모든 커뮤니케이션을 암호화하기 위하여 SSL이나 TLS을 사용 SSL (Secure Socket Layer) : 넷스케이프사에서 개발한 인터넷 보안 프로토콜 TLS (Transport Layer Security) : SSL이 표준화되면서 바뀐 이름 HTTPS 암호화 방식 클라이언트 -> 서버로 랜덤 데이터와 사용 가능한 암호화 방식을 보낸다. 클라이언트가 생성한 랜덤 데이터(32 byte) 서버 -> 클라이언트로 랜덤 데이터, 사용할 암호화 방식과 SSL 인증서를 보낸다 클라이언트는 서버에게 받은 인증서의 CA가..