OnWorks Linux 및 Windows 온라인 워크스테이션

심벌 마크

워크스테이션용 무료 온라인 호스팅

<이전 | 내용 | 다음>

10.3.2. 구성 패키지 생성‌


이제 PXE 부팅을 다루고 Salt-Stack을 사용한 구성 관리 및 패키지 포크에 대해 논의했으므로 이제 이러한 프로세스를 실제 예로 마무리하고 사용자 지정 구성 패키지를 생성하여 시나리오를 확장하여 사용자 지정 구성을 배포할 차례입니다. 여러 기계를 반자동으로.

이 예에서는 자체 패키지 저장소와 GnuPG 서명 키를 설정 및 활용하고, SaltStack 구성을 배포하고, 사용자 정의 배경을 푸시하고, 모든 Kali 설치에 통합된 방식으로 기본 데스크탑 설정을 제공하는 사용자 정의 패키지를 생성합니다. .

이것은 어려운 작업처럼 보일 수 있습니다(특히 데비안 새 유지관리자 가이드를 훑어보면 더욱 그렇습니다)1) 그러나 다행스럽게도 구성 패키지는 주로 정교한 파일 아카이브이므로 이를 패키지로 전환하는 것은 다소 쉽습니다.



샘플 살펴보기 기본적으로 구성 패키지인 실제 패키지를 살펴보고 싶다면 다음을 참조하세요. 묶음 사이더 칼리 기본값 패키지. 이 섹션의 샘플만큼 간단하지는 않지만 관련 특성을 모두 갖추고 있으며 일부 고급 기술(예:

dpkg 전환) 다른 패키지에서 이미 제공한 파일을 대체합니다.

샘플 살펴보기 기본적으로 구성 패키지인 실제 패키지를 살펴보고 싶다면 다음을 참조하세요. 묶음 사이더 칼리 기본값 패키지. 이 섹션의 샘플만큼 간단하지는 않지만 관련 특성을 모두 갖추고 있으며 일부 고급 기술(예:

dpkg 전환) 다른 패키지에서 이미 제공한 파일을 대체합니다.


영상

1https://www.debian.org/doc/manuals/maint-guide/

XNUMXD덴탈의 offsec-기본값 패키지에는 몇 가지 파일이 포함됩니다.


/etc/apt/sources.list.d/offsec.list: a sources.list에 APT 항목으로 회사 내부 패키지 저장소 활성화


/etc/apt/trusted.gpg.d/offsec.gpg: 회사의 내부 패키지 저장소에 서명하는 데 사용되는 GnuPG 키


/etc/salt/minion.d/offsec.conf: Salt 마스터를 찾을 수 있는 위치를 나타내는 SaltStack 구성 파일


/usr/share/images/offsec/Background.png: Offensive Security 로고가 있는 멋진 배경 이미지


/usr/share/glib-2.0/schemas/90_offsec-defaults.gschema.override: 그놈 데스크탑에 대한 대체 기본 설정을 제공하는 파일


먼저, 생성 오프섹-기본값-1.0 디렉토리에 모든 파일을 저장하고 해당 디렉토리에 넣으십시오. 그런 다음 실행 dh_make --네이티브 (에서 dh-make 패키지)에 저장될 데비안 패키징 지침을 추가합니다. 데비안 하위 디렉터리:


$ mkdir offsec-defaults-1.0; CD Offsec-기본값-1.0

$ dh_make --네이티브

패키지 유형: (단일, 독립, 라이브러리, Python) [s/i/l/p]? i

이메일 주소 : [이메일 보호] 라이센스 : gpl3

패키지 이름 : offsec-defaults 유지 관리자 이름 : Raphaël Hertzog 버전 : 1.0

패키지 유형 : 독립

날짜 : 16년 2016월 18일 (목) 04:21:0200 +XNUMX

세부정보가 정확합니까? [예/아니요/q] y

현재 최상위 Makefile이 없습니다. 추가 조정이 필요할 수 있습니다. 지금 debian/ 하위 디렉터리의 파일을 편집하세요.

$ mkdir offsec-defaults-1.0; CD Offsec-기본값-1.0

$ dh_make --네이티브

패키지 유형: (단일, 독립, 라이브러리, Python) [s/i/l/p]? i

이메일 주소 : [이메일 보호] 라이센스 : gpl3

패키지 이름 : offsec-defaults 유지 관리자 이름 : Raphaël Hertzog 버전 : 1.0

패키지 유형 : 독립

날짜 : 16년 2016월 18일 (목) 04:21:0200 +XNUMX

세부정보가 정확합니까? [예/아니요/q] y

현재 최상위 Makefile이 없습니다. 추가 조정이 필요할 수 있습니다. 지금 debian/ 하위 디렉터리의 파일을 편집하세요.


먼저 패키지 유형을 묻는 메시지가 나타납니다. 예시에서는 다음을 선택했습니다. 독립이는 이 소스 패키지가 모든 아키텍처에서 공유할 수 있는 단일 바이너리 패키지를 생성함을 나타냅니다(건축 : 모두). 단일 대응 역할을 하며 대상 아키텍처에 종속되는 단일 바이너리 패키지를 생성합니다(아키텍처: 모두). 이 경우 독립 패키지에는 바이너리 프로그램이 없고 텍스트 파일만 포함되어 있어 모든 아키텍처의 컴퓨터에서 유사하게 사용할 수 있으므로 더 관련성이 높습니다. 그만큼 도서관 type은 엄격한 패키징 규칙을 따라야 하기 때문에 공유 라이브러리에 유용합니다. 비슷한 방식으로, 파이썬 Python 모듈로 제한되어야 합니다.


관리자 이름 및 패키지 유지 관리와 관련된 대부분의 프로그램은 귀하의 이름과

이메일 주소 의 이메일 주소 DEB전체 이름 데베메일 or 이메일 환경 변수. 한 번에 정의하면 여러 번 다시 입력하는 것을 방지할 수 있습니다. 일반적인 쉘이 Bash라면, 다음 두 줄을 추가하기만 하면 됩니다. ~ / .bashrc 파일. 예 :

이메일 내보내기=”[이메일 보호]"

DEBFULLNAME=”Raphael Hertzog” 내보내기


XNUMXD덴탈의 dh_make 명령이 생성됨 데비안 많은 파일을 포함하는 하위 디렉터리. 특히 일부는 필수입니다. 규칙, 제어, ChangeLog에저작권. 다음이 포함된 파일 .전 확장자는 확장자를 수정하고 제거하여 사용할 수 있는 예제 파일입니다. 필요하지 않은 경우 제거하는 것이 좋습니다. 그만큼 동료 파일은 올바른 기능을 수행하는 데 필요하므로 보관해야 합니다. debhelper 일련의 프로그램 (모두 DH_ 접두사)는 패키지 빌드 프로세스의 다양한 단계에서 사용됩니다.

XNUMXD덴탈의 저작권 파일에는 패키지에 포함된 문서의 작성자 및 관련 라이센스에 대한 정보가 포함되어 있어야 합니다. 기본 라이센스가 선택된 경우 dh_make 적합하지 않으면 이 파일을 편집해야 합니다. 저작권 파일의 수정된 버전은 다음과 같습니다.


형식: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 업스트림 이름: offsec-defaults


파일: *

저작권: 2016 공격적 보안 라이센스: GPL-3.0+


라이센스: GPL-3.0+

이 프로그램은 자유 소프트웨어입니다. 자유 소프트웨어 재단이 발행 한 GNU General Public License의 조건에 따라 라이센스의 버전 3 또는 이후 버전 (선택에 따라)으로 재배포 및 / 또는 수정할 수 있습니다.

.

이 패키지는 유용할 것이라는 희망으로 배포되지만 어떠한 보증도 제공하지 않습니다. 상품성이나 특정 목적에의 적합성에 대한 묵시적인 보증도 제공되지 않습니다. 참조

자세한 내용은 GNU General Public License.

.

이 프로그램과 함께 GNU General Public License 사본을 받으셨을 것입니다. 그렇지 않다면 참조하세요. .

.

Debian 시스템에서는 GNU General의 전체 텍스트

Public License 버전 3은 "/usr/share/common-licenses/GPL-3"에서 찾을 수 있습니다.

형식: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 업스트림 이름: offsec-defaults


파일: *

저작권: 2016 공격적 보안 라이센스: GPL-3.0+


라이센스: GPL-3.0+

이 프로그램은 자유 소프트웨어입니다. 자유 소프트웨어 재단이 발행 한 GNU General Public License의 조건에 따라 라이센스의 버전 3 또는 이후 버전 (선택에 따라)으로 재배포 및 / 또는 수정할 수 있습니다.

.

이 패키지는 유용할 것이라는 희망으로 배포되지만 어떠한 보증도 제공하지 않습니다. 상품성이나 특정 목적에의 적합성에 대한 묵시적인 보증도 제공되지 않습니다. 참조

자세한 내용은 GNU General Public License.

.

이 프로그램과 함께 GNU General Public License 사본을 받으셨을 것입니다. 그렇지 않다면 참조하세요. .

.

Debian 시스템에서는 GNU General의 전체 텍스트

Public License 버전 3은 "/usr/share/common-licenses/GPL-3"에서 찾을 수 있습니다.

기본값은 ChangeLog에 파일은 일반적으로 적합합니다. "초기 릴리스"를 좀 더 자세한 설명으로 바꾸는 것만으로도 충분합니다.


offsec-defaults(1.0) 불안정; 긴급성=중간


* 솔트 미니언의 구성 파일을 추가합니다.

* APT의 source.list 항목과 APT의 신뢰할 수 있는 GPG 키를 추가합니다.

* 배경 그림을 정의하는 gsettings 스키마를 재정의합니다.


-- 라파엘 헤르초그[이메일 보호]> 16년 2016월 18일 (목) 04:21:0200 +XNUMX

offsec-defaults(1.0) 불안정; 긴급성=중간


* 솔트 미니언의 구성 파일을 추가합니다.

* APT의 source.list 항목과 APT의 신뢰할 수 있는 GPG 키를 추가합니다.

* 배경 그림을 정의하는 gsettings 스키마를 재정의합니다.


-- 라파엘 헤르초그[이메일 보호]> 16년 2016월 18일 (목) 04:21:0200 +XNUMX


예시에서는 제어 파일. 우리는 섹션 ~에 필드 기타 및 제거 홈페이지, Vcs-GitVcs-브라우저 필드. 마지막으로 내용을 채워보겠습니다. 상품 설명 들:


출처: offsec-defaults 섹션: 기타

우선 순위 : 옵션

관리자: Raphaël Hertzog[이메일 보호]> 빌드에 따라 다름: debhelper (>= 9)

표준 버전: 3.9.8


패키지: offsec-defaults 아키텍처: 모두 종속: ${misc:Depends}

설명: 공격적인 보안에 대한 기본 설정

이 패키지에는 Offensive Security가 소유한 컴퓨터를 구성하기 위한 여러 파일이 포함되어 있습니다.

.

특히 다음 사항이 수정되었습니다.

- APT의 구성

- 솔트 미니언의 구성

- 기본 데스크탑 설정

출처: offsec-defaults 섹션: 기타

우선 순위 : 옵션

관리자: Raphaël Hertzog[이메일 보호]> 빌드에 따라 다름: debhelper (>= 9)

표준 버전: 3.9.8


패키지: offsec-defaults 아키텍처: 모두 종속: ${misc:Depends}

설명: 공격적인 보안에 대한 기본 설정

이 패키지에는 Offensive Security가 소유한 컴퓨터를 구성하기 위한 여러 파일이 포함되어 있습니다.

.

특히 다음 사항이 수정되었습니다.

- APT의 구성

- 솔트 미니언의 구성

- 기본 데스크탑 설정


XNUMXD덴탈의 규칙 파일에는 일반적으로 전용 하위 디렉터리(생성된 바이너리 패키지 이름을 따서 명명)에 소프트웨어를 구성, 빌드 및 설치하는 데 사용되는 규칙 집합이 포함되어 있습니다. 이 하위 디렉터리의 내용은 마치 파일 시스템의 루트인 것처럼 Debian 패키지 내에 보관됩니다. 이 경우 파일은 다음 위치에 설치됩니다. 데비안/offsec-기본값/ 하위 디렉토리. 예를 들어 패키지 설치를 끝내려면 /etc/apt/sources.list.d/offsec.list, 파일을 다음에 설치하십시오. 데비안/offsec-defaults/etc/apt/sources.list.d/offsec.list. 그만큼 규칙 파일은 다음과 같이 사용됩니다. Makefile, 몇 가지 표준 타겟(포함 황어 무리 , 소스 디렉터리를 정리하고 바이너리 패키지를 생성하는 데 각각 사용됩니다.


무엇이 Makefile 파일? 실종에 관한 메시지를 보셨을 것입니다. Makefile 의 끝에서 dh_make 출력과 그 유사성에 대한 언급 규칙 파일. ㅏ Makefile 에서 사용하는 스크립트 파일입니다. 확인 프로그램; 종속성 트리에서 서로 파일 세트를 빌드하는 방법에 대한 규칙을 설명합니다. 예를 들어, 소스 파일 세트에서 프로그램을 빌드할 수 있습니다. 그만큼 Makefile 파일은 이러한 규칙을 다음 형식으로 설명합니다.

대상: 소스1 소스2 ... 명령1

command2


그러한 규칙의 해석은 다음과 같습니다. 원천* 파일이 다음보다 최신입니다. 목표 파일을 사용하면 대상을 생성해야 합니다. command1 command2.

명령줄은 탭 문자로 시작해야 합니다. 또한 명령줄이 대시 문자(-), 명령이 실패해도 전체 프로세스가 중단되지는 않습니다.


이 파일은 프로세스의 핵심이지만 다음에서 제공하는 표준 명령 세트를 실행하기 위한 최소한의 파일만 포함합니다. debhelper 도구. 다음으로 생성된 파일의 경우도 마찬가지입니다. dh_make. 대부분의 파일을 설치하려면 다음의 동작을 구성하는 것이 좋습니다. dh_설치 다음을 생성하여 명령 데비안/offsec-defaults.install 파일 :


apt/offsec.list etc/apt/sources.list.d/ apt/offsec.gpg etc/apt/trusted.gpg.d/ salt/offsec.conf etc/salt/minion.d/images/Background.png usr/ 공유/이미지/offsec/

apt/offsec.list etc/apt/sources.list.d/ apt/offsec.gpg etc/apt/trusted.gpg.d/ salt/offsec.conf etc/salt/minion.d/images/Background.png usr/ 공유/이미지/offsec/


이를 사용하여 gsettings 재정의 파일을 설치할 수도 있지만 debhelper는 이를 위한 전용 도구를 제공합니다(dh_installg설정) 그래서 당신은 그것에 의존할 수 있습니다. 먼저 설정을 입력하세요. 데비안/offsec-defaults.gsettings-override:


[org.gnome.desktop.Background] 그림 옵션='확대/축소'

그림-uri='파일:///usr/share/images/offsec/Background.png'

[org.gnome.desktop.Background] 그림 옵션='확대/축소'

그림-uri='파일:///usr/share/images/offsec/Background.png'


다음으로 dh_installg설정 전화 데비안/규칙 조직 재정의에 예상되는 수준(매뉴얼 페이지에 따르면 90)으로 우선순위를 높이려면 다음을 수행하세요.


#!/usr/bin/make -f


%:

ㅎ $@


override_dh_installgsettings: dh_installgsettings --priority=90

#!/usr/bin/make -f


%:

ㅎ $@


override_dh_installgsettings: dh_installgsettings --priority=90

영상

이제 소스 패키지가 준비되었습니다. 남은 일은 이전에 패키지를 다시 빌드하는 데 사용한 것과 동일한 방법으로 바이너리 패키지를 생성하는 것입니다. dpkg-buildpackage -us

-offsec-defaults-1.0 디렉터리 내에서 -uc 명령:


$ dpkg-buildpackage -us -uc

dpkg-buildpackage: 정보: 소스 패키지 offsec-defaults dpkg-buildpackage: 정보: 소스 버전 1.0

dpkg-buildpackage: 정보: 소스 배포가 불안정함

dpkg-buildpackage: 정보: Raphaël Hertzog가 소스를 변경했습니다. <[이메일 보호]> dpkg-buildpackage: 정보: 호스트 아키텍처 amd64

dpkg-source --before-build offsec-defaults-1.0 fakeroot 데비안/규칙 정리

DH 깨끗해요

dh_testdir dh_auto_clean dh_clean

dpkg-소스 -b offsec-defaults-1.0

dpkg-source: 정보: 소스 형식 '3.0(네이티브)' 사용

dpkg-source: 정보: offsec-defaults_1.0.tar.xz에서 offsec-defaults 구축 dpkg-source: 정보: offsec-defaults_1.0.dsc에서 offsec-defaults 구축

데비안/규칙 빌드 dh 빌드

dh_testdir dh_update_autotools_config dh_auto_configure dh_auto_build

dh_auto_test

fakeroot 데비안/규칙 바이너리 dh 바이너리

dh_testroot dh_prep dh_auto_install dh_install dh_installdocs

dh_install변경 로그

데비안/규칙 override_dh_installgsettings

make[1]: '/home/rhertzog/kali/kali-book/samples/offsec-defaults-1.0' 디렉토리 입력 dh_installgsettings --priority=90

make[1]: '/home/rhertzog/kali/kali-book/samples/offsec-defaults-1.0' 디렉토리 종료 dh_perl

dh_link dh_strip_비결정론 dh_compress

dh_fixperms dh_installdeb dh_gencontrol dh_md5sums


dh_builddeb

dpkg-deb: '../offsec-defaults_1.0_all.deb'에 'offsec-defaults' 패키지를 빌드합니다. dpkg-genchanges >../offsec-defaults_1.0_amd64.changes

dpkg-genchanges: 정보: 업로드에 전체 소스 코드 포함 dpkg-source --after-build offsec-defaults-1.0

dpkg-buildpackage: 정보: 전체 업로드; 데비안 네이티브 패키지(전체 소스 포함)

dh_builddeb

dpkg-deb: '../offsec-defaults_1.0_all.deb'에 'offsec-defaults' 패키지를 빌드합니다. dpkg-genchanges >../offsec-defaults_1.0_amd64.changes

dpkg-genchanges: 정보: 업로드에 전체 소스 코드 포함 dpkg-source --after-build offsec-defaults-1.0

dpkg-buildpackage: 정보: 전체 업로드; 데비안 네이티브 패키지(전체 소스 포함)


OnWorks의 최고 OS 클라우드 컴퓨팅: