System/OS - Linux

    리눅스 기초 명령어-사용자 권한

    사용자 변환 - su / sudo su 사용자* 원하는 사용자로 다시 로그인한다. 사용자를 따로 지정해주지 않고 su 만 하면 root 사용자로 로그인된다. sudo 명령어 root 사용자의 권한으로 뒤의 명령어를 실행한다. >> 이 두 명령을 사용할 때는 변경하려는 사용자/root의 비밀번호를 입력해야한다! 사용자 권한(permission mode) 리눅스 시스템이 다중 사용자 시스템(multi-user system)이기 때문에 필요한 개념이다. r(읽기) : 해당 파일을 읽을 수 있는 권한 w(쓰기) : 디렉터리 내에 파일을 생성하거나 편집, 삭제할 수 있는 권한 x(실행) : 디렉터리 내에서 탐색을 위해 이동할 수 있는 권한, 이진 파일(실행 파일)의 경우 실행할 수 있는 권한 doongdangdo..

    리눅스 기초 명령어

    현재 경로명 - pwd pwd 현재 디렉터리의 절대 경로명을 출력한다. 시스템 정보 확인 - hostname / uname hostname 시스템의 이름을 확인하고 바꾼다. uname 시스템의 이름(커널)을 출력한다. -a 옵션을 붙여 커널명, 호스트명, 커널 릴리즈, 버전, 머신, 프로세스, 하드웨어 플랫폼, 운영체제를 출력한다. 패스워드 변경 - passwd passwd 사용했던 명령어 확인 - history history [N] [옵션] 사용자가 리눅스 커널에서 사용했던 명령어들의 리스트를 시간순으로 출력한다. history 명령어 뒤에 숫자를 입력하면 최근에 사용한 N개의 명령어들만 출력한다. [옵션] -r : 가장 최근에 사용한 명령어부터 역순으로 출력한다. 이럴 때 head나 tail 명령어를..

    리눅스 기초 명령어-파일, 디렉터리

    파일의 종류 리눅스는 "/"(root)를 기준으로 그 하위 디렉터리에 usr, var, bin 등의 디렉터리가 있고, 또 그 아래에 다양한 디렉터리들과 파일들이 존재하는 트리 형태의 계층 구조를 가진다. 일반 파일 (ordinary file) 데이터를 가지며 디스크에 저장되는 파일이다. ▷ 텍스트파일, 이진 파일(binary file) 디렉터리 (directory file) 파일들을 계층적으로 조직화하여 사용하는 일종의 특수 파일로, 윈도우에서의 폴더 개념으로 생각하면 된다. 디렉터리 내에 여러 파일이과 서브(하위) 디렉터리들이 존재한다. ▷ ~(홈디렉터리), .(현재 디렉터리), ..(상위 디렉터리) 장치 파일 (device special file) 시스템에 설치된 여러 하드웨어 장치를 파일화 한 것이..

    리눅스 디렉터리(Directory)

    디렉터리(Directory) 윈도우에서의 폴더로 생각하면 이해가 쉽다. 리눅스는 최상위 디렉터리인 루트(/)를 기준으로 그 하위 디렉터리에 또다른 다수의 디렉터리가 존재하는 트리 구조의 계층적인 파일구조를 가지고 있다. 리눅스에서 디스크 파티션을 나눌 때 루트 파티션을 할당해주면 루트 디렉터리의 하위 디렉터리들이 종속된다. / 최상위 디렉터리로, 루트 디렉터리라고 한다. /root 시스템 관리자 root의 홈 디렉터리이다. /bin binary의 약자로, 주로 실행 파일들이 들어있는 디렉터리이다. 터미널에서 사용하는 명령어들이 들어있는 디렉터리로 PATH가 설정되어 있다. /sbin system binary의 약자로, 주로 시스템 관리에 대한 명령어들이 들어있는 디렉터리이다. /boot 부팅 이미지 파일..

    부트 매니저 - LILO, GRUB

    부트 매니저(Boot Manager) = 부트 로더(Boot Loader) 부팅을 도와주는 역할을 하는 프로그램; 컴퓨터를 처음 시작했을 때 가장 먼저 실행되는 소프트웨어 프로그램이다. 한 컴퓨터에 다양한 운영체제가 설치되어 있을 경우에 선택하여 부팅할 수 있도록 한다. 하드 디스크의 맨 앞쪽 영역인 MBR(Master Boot Record)에 설치된다. **MBR: 부트 섹터(Boot Sector)/파티션 섹터(Partition Secotr); 디스크의 첫 번째(0번) 섹터이고, 크기는 512byte이다. 이 영역에 부트 로더 프로그램과 파티션 정보를 기록한다. 이 정보들을 통해 운영체제가 어디에 위치해 있는지 파악하고 선택한 운영체제를 주메모리 또는 RAM에 부팅한다. 리눅스에서 사용하느 가장 대표적..

    LVM

    LVM = Logical Volume Manager - 여러 개의 하드 디스크를 하나의 디스크처럼 만들거나, 2개의 하드 디스크를 3개의 디스크인 것처럼 만들 수 있다. - 사용 중인 파티션의 크기를 줄이거나 늘릴 수 있다. → 리눅스를 설치하거나 하드 디스크를 추가할 때 설정한 공간의 크기는 고정이 되어 변경이나 용량 증설이 어려운데, LVM이 이 문제점을 해결한다. 물리적 볼륨(PV; Physical Volume) 실제 디스크에 물리적으로 분할한 파티션이다. LVM에서는 물리적 볼륨을 하나의 구성원으로 받아들인다. 예) /dev/sdb1, /dev/sdc1 볼륨 그룹(VG; Volume Group) PV들이 보여 생성하는 덩어리 = PE가 모여 생성되는 하나의 큰 덩어리이다. 논리적 볼륨(LV; Lo..

    RAID

    RAID = Redundant Array of Independent/Inexpensive = 여러 개의 하드디스크를 하나의 디스크처럼 사용해 동일한 데이터를 다른 위치에 중복해서 저장하는 방법 = 디스크 어레이(Disk Array) - 운영체제는 하나의 RAID (데이터가 저장된 디스크의 묶음이라고 생각)는 논리적으로 하나의 디스크로 인식해 처리한다. - 초기 목적: 저용량 하드 디스크를 하나의 디스크로 확장해 사용 - 현재 목적: 백업 + 안정적인 데이터의 보존 및 유지, 속도 향상 등 - 하드웨어 RAID: 하드웨어 제조업체에서 여러 개의 하드디스크를 연결한 장비를 만들어 공급하는 RAID로, 안정적이고 성능이 좋은 편이다. ▶▶ "핫 스왑(Hot Swap) 베이(Bay)" 기능; 전원이 켜져있는 상..

    [CentOS 8] APM 웹 서버

    APM = Apache 웹 서버 + PHP 웹 프로그래밍 언어 + MariaDB (MySQL의 후속버전) 데이터베이스 >> 리눅스에서는 LAPM, 윈도우에서는 WAPM 으로도 부른다 APM 설치 (CentOS에서 dnf 명령을 이용해 쉽게 설치할 수 있다) 설치할 패키지: httpd, php, php-mysqlnd, mariadb-server # dnf -y install httpd php php-mysqlnd mariadb-server 서비스 가동 # systemctl status httpd # systemctl start httpd # systemctl status httpd

    XRDP 서버

    XRDP 서버 X 윈도우 환경으로 원격접속 하고 싶을 때 사용할 수 있는 원격 접속 서버 (= 그래픽 모드로 원격 관리를 지원한다) 원격지로 그래픽 화면을 전송한다. >> 텔넷, ssh 서버에 비해 느려진다. Windows의 '원격 데스크톱 연결' 프로그램을 사용해 리눅스에 그래픽 환경으로 접속한다. XRDP 외에도 X 윈도우 환경으로 접속하는 방식으로는 VNCSERVER도 있다. XRDP 서버 구축 XRDP 서버 설치 # dnf -y install epel-release >> xrdp가 CentOS8에서 기본으로 제공하는 설치 패키지가 아니기 때문에 추가 패키지를 제공하는 저장소인 EPEL을 설치한다. 또는 xrdp 설치파일을 인터넷에서 직접 다운로드 받아 설치를 할 수 있다. # dnf -y inst..

    OpenSSH 서버

    OpenSSH 서버 텔넷보다 보안이 강화된 SSH 서버 텔넷과 거의 유사하고, 데이터 전송 시 암호화 한다는 차이점이 있다. 암호화관련 주요 기능 - 암호화된 터미널 접속 (telnet과 동일) - 암호화된 file 송수신 기능 (FTP 기능) - 통신 선로 암호화 기능 (클라이언트와 서버 사이의 네트워크 연결을 암호화) ssh >> 리눅스와 윈도우에서의 사용법 같음 Openssh 서버 구축 openssh 서버 확인 # rpm -qa openssh-server # systemctl status sshd >> sshd는 22번 포트를 사용하고 있음을 확인할 수 있다. client (linux) 에서 접속 # ssh 사용자이름@호스트 이름 또는 # ssh 사용자이름@IP 주소 또는 # ssh -l 사용자 이..