klaus

[KDT-DAY_6] Linux (feat. 파티션, 원격 접속(putty)) 본문

수업/KDT

[KDT-DAY_6] Linux (feat. 파티션, 원격 접속(putty))

klus! 2023. 1. 2. 16:51

0. 들어가기

01-02.txt
0.01MB

[+] 지난 시간

-  실습 환경 구축

- 커널, 파직스 Unix vs Linux 등 이론 수업

- OS 설치시 미니멀(최소)설치하고 필요한 패키지를 설치하는 것이 원칙

Linux 계열  OS GUI
레드햇  패도라,센트OS, 레드햇 GNOME 
debian  debian, uBuntu KDE desktop

하지만 Flavor에 제한적인 것이 아니라 필요에 의해서 데비안 계열에서 GNAOME을 설치해 사용도 가능하다.

 

[+] 런레벨(runlevel)

/etc/inintab 파일에서 runlevel을 조절이 가능하다

0~6까지 있는데 CLI(3) GUI(5) shutdown(0), reboot(6) root 패스워드 변경(1) 등 수행한다.

런레벨 6(GUI)로 Lunux를 설치하면 runlevel 3이 자동으로 설치

즉, CLI가 먼저 설치된 뒤 GUI에서 필요로하는 패키지를 추가로 설치해서 상호 변환 가능

nano /etc/inittab

[+] 실습

- 런레벨 확인 및 multi-user.target (3번)으로 변경 할 수 있다.

[+] network 설정

Linux 설정파일 내용
Centos  /etc/sysconfig/network-interfaces/incfg-enXXXXXXX  
  /etc/resolv/conf  DNS 설정
  /etc/hostname  hostname 설정
 /etc/hosts  IP-hostname 설정
etc/selinux에서  보안 설정
uBunutn  etc/network/interfaces 설정  
   etc/hostname hostname   hostname 설정
  /etc/hosts IP-hostname 설정  IP-hostname 설정

nameserver

Vmware tools가 제대로 설치되어 있지 않으면

 

 

#와 $차이

~ (필드)pwd

 

[+] 실습 (User 추가)

adduser : 유저 추가

passwd tori : 패스워드 설정

 

 

ubuntu에서는 networkmanager 기능

- 자동으로 해당 위치의 IP주소를 가져오는 기능 (단, 고정 IP를 사용)

- 설정위치 : /etc/resolvconf/resolv.conf.d/base 파일 고정IP 지정

 

centOS에서는 SELinux(Security-Enhanced Linux)== 접근제어

-  관리자가 시스템 액세스 권한을 효과적으로 제어할 수 있게 하는 Linux® 시스템용 보안 아키텍처

-  원래 미국 국가안보국(NSA)이 LSM(Linux Security Module)을 사용하는 Linux 커널에 대한 일련의 패치로 개발 

- 서버에 접속하려는 클라이언트에서는 서버에서 지정하는 보안 레벨과 동일해야 접근 가능

 

[+]HDD Booting 정보 백업

- MBR(master boot record) 파티션과 부팅 정보가 들어있는 GRUB파일을 미리 백업 권장 (관리자 시점)

- 마스터 부트 레코드, MBR은 운영체계가 어디에, 어떻게 위치해 있는지를 식별하여 컴퓨터의 주기억장치에 적재

  될 수 있도록 하기 위한 정보로서 하드디스크나 디스켓의 첫 번째 섹터에 저장되어 있다.

 

 

파티션 : 저장공간에 데이터를 저장하게 공간을 분할

포맷: 파티션 된 공간에 data 저장할 수  있게 만들어 주는것

따라서, 파티션을 먼저 한 뒤 포맷 (mkfs -t format target)을 수행한다.

 

 

 

참고 : MBR와 부트로더

 

[실습] 파일 권한

- root권한과 user권한

[+] 리눅스의 장치  (/dev/sd*)

리눅스에서 디스크와 파티션을 부르는 이름이 다른 운영 체제와 다르기도 합니다. 파티션을 만들고 파티션할 때 이 리눅스 이름을 알고 있어야 합니다. 기본적으로는 다음 규칙을 따릅니다:

  • 첫번째 발견한 하드디스크의 이름은 /dev/sda입니다.
  • 두번째 발견한 하드디스크의 이름은 /dev/sdb이고, 그 이후는 마찬가지입니다.
  • 첫번째 SCSI CD-ROM은 /dev/scd0이라고 하고, /dev/sr0이라고도 합니다.

드라이브의 파티션 이름은 디스크 이름 뒤에 숫자를 붙입니다. sda1와 sda2는 각각 첫번째 SCSI 디스크의 첫번째와 두번째 파티션을 말합니다.

 

/dev/sda  : 물리적 장치 첫번째

/dev/sdb  : 물리적 장치 첫번째

[+] 실습 파티션

- 포맷

mkfs =t ext4 /dev/sdb1

- 파티션

fdisk -l /dev/sda

[+] 장치 연결 (mount)

- usb/hdd등 물리적 외부 장치를 linux에서 사용하려면

1) linus 시스템에 물리적으로 부착

2) partition > format

3) mount point 생성

4) 외부 저장장치를 mount해서 linux에서 인식하고 사용

5) 제거 umount 

 

[+]백업

CLI : dd if=/dev/sda1 of=/hdd-2/sda1.mbr count=1 bs=512k; sync

if 어느 것dmf of 어디 or 저장/파일명 

삭제 : dd if=/dev/zero of=/hdd-2/sda2.mbr

복원 (덮어쓰기) if=/hdd-2/sda1.mbr of=/dev/sda1

 

 

- parted : 디스크 및 파티션 현황 확인, 디스크 라벨 변경, 파티션 생성

cli : parted /dev/sda print

 

 

 

- sfdisk : 파티션 테이블을 백업하거나 복제할 때 사용

백업 : sfdisk  -d /dev/sda > /hdd-2/sda.partitioned

복원: sfdisk  -d /dev/sda < /hdd-2/sda.partitioned

※ 대소문자 주의

 

[+] 실습 파티션

내용 : 전체 2GB 파티션 : 1G /700M /300M

- fdisk VS parted

fdiskparted는 16TB 

 

디스크 파티션 정보 확인

(왼)- lsblk /dev/sdb

(오) - sfdis -l

 

데이터가 저장되는 곳은 sdb1,5,6

 

mkfs.ext4 -c /dev/sdb1 ; mkfs -c -t ext4 /dev/sdb5 ; mkfs -c -t ext4 /dev/sdb6

 

mkdir 뒤 중괄호에 묶어 사용하면 한번에 명령어를 사용가능

mkdir /SDB{1,5,6}

 

 

mount 방법은 묶어서 사용 불가로 세미콜론(;)을 사용하여 연결하기

 

[+] BTRFS (BeTeR File System) 파일 시스템

- 16EB까지 지원하고 매우 빠르게 파일시스템을 생성 테이터와 메타데이터의 체크썸, 스냅샷, 그리고 온라인으로 문제해결이 가능하다.

 

 

[+] parted 도구 사용하여 파티션

설치 : 

yum -y install btrfs-progs 로 설치

 

mkfs -t btrfs /dev/sdb1

 

find

CLI : find /usr/share/doc -name '*.pdf' -exec cp {} /BTRFS \;

이것은 /usr/share/doc 디렉터리 하위의 모든 *.pdf 확장자 파일을 {}안에 넣고 /BTRFS 디렉터리 cp(복사)해준다.

\;는 문장을 끝내는 세미콜로(;)이 부호라는 의미이다.

\를 Escape letter(이스케이프 문자)라고 부른다. 예) \t (tab) \n (개행)

 

 

xfsprogs

yum -y install xfsprogs

 

기본포맷 : mkfs.xfs /dev/sdb1

강제포맷 : mkfs.xfs -f  /dev/sdb1

 

 

[+] OS별 실행파일

 

Linux에서 실행파일 *.bin이다

windows에서 실행파일 *.exe, *.bat,*.com 이다

만약 Linux에서 *.EXE를 실행시킬 때에는 wine라는 프로그램을 사용하면 설치 가능

Linux 에서 dependencies(종속성)이 나오는데 이는 A프로그램이 실행되기 위해서 하는b,c,d,...들을말한다

예전에는 일일이 b,c를 찾아서 설치해 주었지만 최근에는 centOS에서는 yum, ubuntu에서는 apt-get(or apt) 명령어로 한 번에 A가 설치되면서 필요한 종속파일 b,c를 해결할 수있다. ==> 의존성 해결

 

[+] Wine 설치

리눅스 환경(centos)에서 윈도우 프로그램들을 실행할 수있도록 도와주는 S/W

centos에서는 PUTTY를 별도로 사용하기 위해서는 wine를 설치해야 함

하지만, uBuntu에서는 바로 PUTTY를 설치하여 사용가능

 

- PUTTY를 사용하여 원격 접속

Linux에서 부팅시

/etc/inittab 파일은 런레벨을 실행해주고

<= runlevel 3, 5 등 설정대로 실행

/etc/fstab 파일은 자동으로 블록장치(HDD,USB,DVD)를 마운트

<= mount /dev/sdb1 /SDB1식의 명령어가 없어도 부팅 시 자동으로 마운트되도록 설정

/etc/(rc.d/init.d)/rc.local 파일은 부팅되기 전에 실행되어야 할 설정

<= 시스템 부팅이 되기 전에 AV, disk quota, backup, Ntp, .... 등 설정해주면 모두 수행되 시스템 부팅된다. (msconfig= 시작프로그램)

 

[+]부트로더(bootLoader)

 

[실습]

 

cat /boot/brub2/grub.cfg

 

 

pstree를 통해 ssh접속 확인가능.

 

[+]w, who명령을 통해 원격접속 유무 확인가능

참고

 

[+] 상대경로 절대경로

../와 같은 경우 상대경로

==> 지금 내가 있는 위치(pwd)에 따라 경로 변경

 

cd /etc/passwd 와 같이 입력할 경우 절대경로

==> 내 위치와 상관없이 이동 

 

[+]runlevel

etc/rc.d/를 보면 runlevel별 폴저 존재

각 폴더 안에 K~~와 S~~식으로 존재

S~~ 시작 K는 끝내는 의미이다. 즉 runlevel 5에서 init 3해서 runlevel3으로 간다면 k~~가 실행되어 현재 runlevel5를 끝내고, /etc/rc.d/rc3.d에서 s~~가 시작되어 runlevel3을 시작시킨다.

[+] shutdown 

-h 시간 지정

-r 리부팅

Linux서버에서 원격으로 접속할 때에는 PUTTY, SUPERPUTTY, XSHELL 등 존재하며 이 외 telnet,ssh,rlogin, remote,

 

[+] rsh ==> 

yum -y install rsh

rlogin port 513

설정 완료 후 리로드 firewall-cmd --reload

setenforce 0

[보안상 취약]

centos에서 설정 후 ubuntu를 통해 접속하면, root 권한으로 로그인 가능

이후  2차 피해 가능

 

 

 

 

Comments