일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Error Based SQL Injection
- goblin 3번
- sqli
- Lord of SQL Injection
- utmp
- Union SQL Injection
- UTM
- SQLi wargame
- M2
- los.rubiya.kr
- SQL i
- Python requests 설치
- ubuntu
- 가상머신 os
- docker compose
- XAVIS
- blind SQLi
- 우분투
- mocOS
- Kail Linux
- btmp
- MySQL
- No module named ‘requests’
- str_replace함수
- Lord of SQLinjection
- sql injection
- 2002(HY000)
- 1819 (HY000):
- ModuleNotFoundError: No module named ‘requests’
- LOS 5번
- Today
- Total
klaus
[KDT-DAY_6] Linux (feat. 파티션, 원격 접속(putty)) 본문
0. 들어가기
[+] 지난 시간
- 실습 환경 구축
- 커널, 파직스 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에서 필요로하는 패키지를 추가로 설치해서 상호 변환 가능
[+] 실습
- 런레벨 확인 및 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차 피해 가능
'수업 > KDT' 카테고리의 다른 글
[KDT-DAY_8] Linux (feat. 커널 업그레이드_1차) (0) | 2023.01.04 |
---|---|
[KDT-DAY_7] 원격접속(GUI), Linux setting (0) | 2023.01.03 |
[KDT-DAY_5] Linux (0) | 2022.12.30 |
[KDT-DAY_4] Windows 7 (feat. MySQL Workbench) (0) | 2022.12.29 |
[KDT-DAY_3] ubuntu (feat. mysql 설치 및 외부 접속) (1) | 2022.12.28 |