일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- goblin 3번
- Error Based SQL Injection
- Lord of SQLinjection
- 1819 (HY000):
- sql injection
- Kail Linux
- 우분투
- str_replace함수
- btmp
- No module named ‘requests’
- 가상머신 os
- UTM
- mocOS
- sqli
- Lord of SQL Injection
- M2
- XAVIS
- LOS 5번
- SQLi wargame
- 2002(HY000)
- MySQL
- docker compose
- blind SQLi
- los.rubiya.kr
- ubuntu
- SQL i
- ModuleNotFoundError: No module named ‘requests’
- utmp
- Python requests 설치
- Union SQL Injection
- Today
- Total
klaus
[KDT-DAY_13] Lunux (RPM, YUM) 본문
1. RPM(Redhat Package Manager)
- 레드햇 계열의 리눅스 배포판에서 사용하는 프로그램(패키지) 설치 관리 도구
- rpm의 파일명 중 minor가 짝수는 안정(stable) 홀수는 개발(dev)라는 의미로 짝수를 설치하는 것을 권장
>패키지_명 2.4.2(2.major, 4.minor, 2 patch)
[주요 사용 옵션]
rpm -ivh : 패키지 설치 (i설치)
rpm -Uvh : 패키지 업데이트 (U업그레이드 설치)
rpm -qa : 패키지 설치 확인
옵션은 --nodeps : 의존성 무시
--percent(%)
삭제 rpm -e ~.rpm
[+] 실습
- wc -l /var/lib/rpm/packages
- rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpm -qlp 소스정보
rpm -rvh 설치
rpm -e 설치된 패키지 제거
rpm -Uvh [웹주소] : 웹에서 파일 다운받지 않고 바로 설치
※ yum 으로도 설치 가능
- 서명 확인(GPG-KEY)
- DVD에 있는 무수한 rpm 파일로 centos 운영체제가 설치되어 있는데 이 rpm파일들은 GPG-KEY에 의해서 모두 정식 인증 받은 상태
- 설치된 곳은
- 서명확인
ls /etc/pki/rpm-gpg/
/etc/pki/tls/cert.pem
- rpm -qa /etc/pki/gpg
설치 DVD에 있는 키를 가져올 수도 있다.
rpm파일은 어느 프로그램을 설치할 때 종속적인 파일들을 모두 알고 있고 일일히 설치해야한다.
하지만, yum을 사용하면 일괄적으로 종속파일을 설치 할 수 있다.
- mokbuild user생성 및 접속하여 작업
> useradd mokbuild su - mockbuild
- bison 설치
> wget http://www.rpmfind.net/linux/KDE/unstable/server/kolab/kolab-server-1.0/src/bison-1.35-20030604.src.rpm
- ls rpmbuild/
- rpm 설정파일
rpmbuild/SPECS/bison.spec
- rpm사용하여 설치하려고 하면, 아래와 같이 종속(error)가 발생한다. (==종속파일 확인)
> rpmbuild -bb rpmbuild/SPECS/bison.spec
만약, 종속 무시하고 설치하려면 옵션을 추가한다.(--nodeps)
2. YUM(Yellowdog Updater Modified)
- 레드햇 계열의 시스템의 패키지 설치 도구
- yum 명령어를 통해서 간편하게 종속적인 패키지 문제도 일괄적으로 해결해 가면서 작업할 수 있는 이유는
바로 리포지터리(Repository:저장소)가 있기 때문이다.
- rpm 명령어의 단점은 앞에서도 rpm -Uvh ~ 에서 본 바와 같이 RPM 패키지를 설치/삭제, 업데이트할 때 하나의 파일과 관련된
다른 패키지의 종속성 문제가 발생한다는 단점 있습니다. 이런 패키지 종속성 문제를 자동으로 알아서 해결하면서 패키지를 설치해주는
패키지 관리시스템
- RedHat 계열의 YUM은 Debian Linux 계열에서의 APT(Advanced Packaging Tool)와 비슷한 역할을 하며, 사용자가 설치하고자
하는 패키지의 시스템 경로나 RPM 파일의 위치, 해당 패키지의 종속적인 파일들을 알지 못해도 일련의 패키지들이 제대로 설치되는 이유는 소프트웨어 리포지터리인 /etc/yum.repos.d/ 디렉터리에 대부분 패키지 사이트에 관한 경로정보를 가지고 있는 *.repo 확장자를 가지는 리포지터리 파일들이 들어있기 때문이다. 이 파일에 들어 있는 경로정보는 인터넷 사이트가 대부분이지만 CentOS 설치 DVD나 로컬에 형상서버(Configuration Server) 등을 두고 이를 지정해서 사용해도 된다.
=>리포지터리는 로컬/네트워크 디렉터리일 수도 있고 외부 HTTP나 FTP 서버일 수 있다.
[실습] YUM repository는 패키지를 모아놓은 장소
- 활성화된 repolist 확인
- /etc/yum.repos.d/ && ls 설정파일리스트
- cat centos-addons.repo 내용을 확인하거나 수정할 수 있다.
- 패키지 정보
yum info nmap
- provides nmap설치 위치
- 설치 유무 확인
> yum list installed nmap
- 종속 파일 확인
> yum deplist nmap
-설치 : yum -y install namp
-제거 : yum -y remove namp
[+]리포지터리??
패키지 저장소로 리눅스에서 패키지를 install 할 때, 그냥 yum install <패키지명> 만 치면 되지만
패키지가 대체 어디에 있길래 알아서 가져와가꼬 설치가 되는 걸까? 바로 repository에서 가져오는 것이다.
보통 네가지 방법으로 리포지터리를 사영해서 필요한 패키지를 설치할 수 있다.
1. centos 설치 시 자동으로 생성되는 base 와 같은 리포지터리
2. 설치 DVD를 사용하는 방법
3. EPEL,REMI와 같은 별도의 리포지터리 설치하여 사용
4. NginX와 같은 특정 패키지에 관한 리포지터리를 생성하거나, 해당 ~.repo파일을 다운받아 /etc/yum.repos.d/아래 넣어 사용
- centos의 경우 (mirror.kakao.com/centos)
생성
- /etc/yum.repos.d/파일생성.repo
[리포지터리명]
name=centos - [리포지터리명]
[+]uBuntu의 경우 다운로드할 때
- chrome다운로드 받을 경우
> wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- 확장자는 deb로 다운로되 되는 것을 확인할 수 있다.
- 오류 메세지가 발 생한다면 rm
>error dpkg fromtend is lcked
- nano /etc/apt/sources.list
> 다운로드를 하는 위치
형상서버 [형상서버 구축 프로젝트]
로컬에서 서버를 구축해두고 조직에서 필요한 파일을 다운받는 서버
형상서버의 장점
1. 내부적(LAN)으로 다운받기 때문에 WAN보다 속도가 빠르다.
2 인터넷 회선과 무관하기 때문에 대역폭 사용이 적어 안정적
3. 관리자에 의해서 검증받은 파일만 있기 때문에 보안상 안전
4. 조직의 일관된 정책/규칙에 따라 관리가 용이하다.
- mkdir /local
-mount /dev/sr0 /media
- 설치 미디어에서 패키지 내용을 모두 복사
> cp -arp /media/AppStream/Packages/* /local
※ 9버전에서는 /media/AppStream/Packages에 위치해있음
- ls /local | wc -l
- yum -y install createrepo
- createrepo -v /local
많은 파일들을
- yum으로 설치시 local.repo로 받을 수 있도록 설정(LOCAL)
> nano /etc/yum.repos.d/local.repo
[local]
name=CentOS - Local
baseurl=file:///local
gpgcheck=0
enabled=1
- 작성된 local.repo 확인
> ls /etc/yum.repos.d/
- yum clean all
- local이 repolist에 있는지 확인
> yum repolist all
- nmap의 search정보를 확인(설치 파일을 어디에서 가져오는지 확인)
> yum search nmap
> 확인하였을 때 local에서도 가져오는 것을 확인할 수 있다.
- yum을 사용하여 nmap을 설치하였을 때,
> yum -y install nmap
> 아직은 appstream에서 가져오는 것을 확인 할 수 있다.(centos8 이전 버전에서는 base)
- yum eraes nmap
[+] local에서 다운받을 수 있도록 설정
- appstream을 사용하지 않도록 설정하고 설치
- yum -y install nmap --disablerepo "appstream"
> local으로 다운로드 되는 것을 확인할 수 있다.
[+]도메인용으로 설치하기(FTP)
- FTP를 활용하여 다른 머신에서 접속하여 yum으로 설치할 수 있도록 설정
- 기본설치하면 : yum -y install vsftpd createrepo ftp
- 도메인용으로 설치하려면 먼저 : nano /etc/yum.repos.d/server.repo
[server]
name=Server Repo - SERVER
baseurl=file:///var/ftp/pub/server
gpgcheck= 0
enabled=1
- 설치용 폴더 및 설치 파일 복사
> mkdir /var/ftp/pub/server
> cp -arp /local/* /var/ftp/pub/server/ && ls /var/ftp/pub/server/ |wc -l
- 설치용 드라이브를 만듦(FTP)
> createrepo -v /var/ftp/pub/server/
- yum clean all을 해줍니다.
- yum repolist all을 통해 server가 enabled되어 있는지 확인
> centos 7에서는 아래와 같이 있는 것을 확인할 수 있다.
- FTP 포트 및 보안설정
> 방화벽에 접속 포트 추가 :firewall-cmd --zone=public --add-port=21/tcp
> 방화벽 리로드 : firewall-cmd --reload
> 보안설정 : setenforce 0 && getenforce
- 서비스 시작
> systemctl start vsftpd
> systemctl enable vsftpd.service
> netstat -nltp |grep 21
> chkconfig --level 35 vsftpd on
- systemctl status vsfptd로 상태 확인
[+]다른 콘솔로 가서 (centos_2)
ftp설치
- yum -y install ftp
server라는 리포지터리는 없음
생성
vi /etc/yum.repos.d/client.repo
[client]
name=Server Repo - CLIENT
baseurl=ftp://[주소]/pub/server
gpgcheck=0
enabled=1
보안 레벌
firewalld꺼버림
systemctl disable --now firewalld
setenforce 0 && getenforce
ls /etc/yum.repos.d/
firewall-cmd permanent --zone=public -add-port=21/tcp를 했지만 지금은 방화벽이 꺼져있는 상태
yum clean all
base.repo에서(enabled)
- yum -y install nmap
> client에서 자료를 가져와서 설치가 된것을 확인할 수 있다.
> yum info nmap을 했을 때 설치파일을 어디서 가져왔는지 확인할 수 있다.
- yum -y erase nmap
따로 설정할 것은 없다.
- vi /etc/yum.repos.d/CentOS-base.repo
==> 프라이머리 설정(우선순위 설정)
[정리]
설치 파일 다운로드 우선 순위 정하기
yum -y install XYZ를 설치하려고 할 때, /etc/yum.d/ 우선순위에 따라 설치 된다.
priority로 순위 정할 수 있다.
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
yum -y install nginx --disablerepo="epel" 제외하고 설치하도록 설정
yum -y install nginx --
nginx.reop를 이용하여 설치
'수업 > KDT' 카테고리의 다른 글
[KDT-DAY_15] SELinux (0) | 2023.01.19 |
---|---|
[KDT-DAY_14] SELinux (0) | 2023.01.19 |
[KDT-DAY_12] Linux H/W (feat. RAID, LVM, zfs ) (0) | 2023.01.16 |
[KDT-DAY_15] Linux (feat. 데몬, HW명령어) (2) | 2023.01.15 |
[KDT-DAY_14]Linux (feat. 사용자 권한, 그룹, 정보) (0) | 2023.01.12 |