Linux

    [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가..

    [Linux] 리눅스 Web 서비스 : apache

    📌INDEX 웹 서버란? apache apache 설정 apache 구성 apache 웹페이지 설정 가상 호스트(Virtual Hosts) 실습 ✔️ 웹 서버란? 웹(Web) 서버 웹 서비스(Web Service)를 제공하는 서버 인터넷만 연결되어 있다면, 어느 곳에서든 웹 서버에 방문 가능 네트워크를 통해 약속된 주소로 요쳥 시 지정된 컨텐츠를 제공 기본적으로 정적인 컨텐츠만 제공 별도의 구성 시 동적인 컨텐츠 제공 가능 모듈을 추가함으로써 ex) python, php 등 웹 서버의 기본적인 동작 웹 브라우저로 Client가 페이지 요청 HTTP (Hypertext Transfer Protocol)을 사용하여 웹 브라우저와 웹 서버간 의사소통 Client가 페이지 요청 시 웹 서버는 요청 받은 페이지를..

    [Linux] master/slave 설정

    👉미리 보고 와야할 글 📌INDEX Master/Slave 구조란? Master/Slave 구조 설정 Master 서버 설정 Slave 서버 설정 ✔️ Master/Slave 구조란? Primary Server(1차 네임 서버) : 해당 도메인을 관리하는 주 네임 서버 Secondary Server(2차 네임 서버) : 주 네임 서버(1차 서버)를 백업(backup)해주는 서버 Primary 서버가 비정상적으로 운영될 때 혹은 부하는 분산 시키기 위해 다수 존재 상시 Primary 서버의 data를 백업(backup) 받기 위해 동기화 설정 필요 Master/Slave 네임서버 : 마스터 네임서버가 동작하지 않을 경우, 슬레이브 네임서버가 마스터를 대신하여 클라이언트에게 도메인/IP주소 정보를 제공 Ma..

    [Linux] DNS : 서버 구성, 정방향·역방향 조회

    📌INDEX DNS란? DNS 관련 파일 /etc/hosts /etc/resolv.conf /etc/named.conf zone 파일 도메인 확인 명령어 nslookup host dig DNS 서버 DNS 서버 구성 과정 정방향 조회 역방향 조회 ✔️ DNS란? DNS(Domain Name Server)란 IP주소를 Domain 형식(문자열)으로 변환해주는 서비스이다 Domain Name이란? 네트워크에 연결되어있는 모든 시스템에는 숫자의 조합으로 구성되는 주소를 가짐 이러한 주소를 다 외우기는 불가능하므로, 알파벳으로 이루어지는 도메인 이름을 사용 ex) naver.com = 222.122.84.250 도메인 등록 원칙 도메인 이름은 영문자(a-z), 숫자(0-9) 10개, 특수기호(-) 1개를 합쳐 ..

    [Linux] 리눅스 방화벽 : firewalld

    📌INDEX 리눅스 방화벽이란? zone firewalld ✔️ 리눅스 방화벽이란? 리눅스 방화벽(firewall)이란 외부에서 시스템으로 접근하는 패킷을 차단하는 서비스이다 규칙을 이용하여 접근을 허용하거나 차단할 수 있다 방화벽(firewall)은 일반적으로 신뢰할 수 있는 내부 네트워크, 신뢰할 수 없는 외부 네트워크 간의 장벽을 구성 서로 다른 네트워크를 지나는 데이터를 허용/거부하거나 검열/수정하는 하는 하드웨어 또는 소프트웨어 장치라고 할 수 있다 iptables의 단점을 보완하기 위해 도입되었다 iptables : Netfilter 제어하는 도구를 사용하며, 설정을 변경하면 재시작해야한다는 단점이 존재 (Centos 7이전) firewall은 동적으로 방화벽 설정 변경이 가능하다 Runtim..

728x90