OnWorks Linux و Windows Online WorkStations

الشعار

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

10.3.2. إنشاء حزم التكوين‌


الآن بعد أن تطرقنا إلى تمهيد PXE وناقشنا إدارة التكوين مع Salt- Stack بالإضافة إلى تكسير الحزمة ، فقد حان الوقت لإغلاق هذه العمليات في مثال عملي وتوسيع السيناريو عن طريق إنشاء حزمة تكوين مخصصة لنشر تكوين مخصص إلى آلات متعددة شبه أوتوماتيكية.

في هذا المثال ، ستقوم بإنشاء حزمة مخصصة تقوم بإعداد واستخدام مستودع الحزمة الخاص بك - itory ومفتاح توقيع GnuPG ، وتوزيع تكوين SaltStack ، ودفع خلفية مخصصة ، وتوفير إعدادات سطح المكتب الافتراضية بطريقة موحدة لجميع عمليات تثبيت Kali الخاصة بك .

قد تبدو هذه مهمة شاقة (خاصةً إذا ألقيت نظرة على Debian New Maintainer Guide1) ولكن لحسن الحظ بالنسبة لنا ، فإن حزمة التكوين هي بشكل أساسي أرشيف ملفات معقد ، ومن السهل تحويلها إلى حزمة.



النظر في عينة إذا كنت تريد البحث في حزمة حقيقية هي في الأساس حزمة تكوين ، فقم ب- فئة الإشتراك Sider ال افتراضات كالي صفقة. إنها ليست بسيطة مثل العينة في هذا القسم ولكنها تحتوي على جميع الخصائص ذات الصلة وحتى تستخدم بعض التقنيات المتقدمة (مثل

dpkg- تحويل) لاستبدال الملفات التي توفرها الحزم الأخرى بالفعل.

النظر في عينة إذا كنت تريد البحث في حزمة حقيقية هي في الأساس حزمة تكوين ، فقم ب- فئة الإشتراك Sider ال افتراضات كالي صفقة. إنها ليست بسيطة مثل العينة في هذا القسم ولكنها تحتوي على جميع الخصائص ذات الصلة وحتى تستخدم بعض التقنيات المتقدمة (مثل

dpkg- تحويل) لاستبدال الملفات التي توفرها الحزم الأخرى بالفعل.


صورة

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

التخلف عن السداد في الخارج ستحتوي الحزمة على بعض الملفات:


/etc/apt/sources.list.d/offsec.list: و sources.list الدخول لـ APT ، لتمكين مستودع الحزم الداخلي للشركة


/etc/apt/trusted.gpg.d/offsec.gpg: مفتاح GnuPG المستخدم للتوقيع على مستودع الحزم الداخلي للشركة


/etc/salt/minion.d/offsec.conf: ملف تكوين SaltStack للإشارة إلى مكان العثور على الملح الرئيسي


/usr/share/images/offsec/background.png: صورة خلفية جميلة مع شعار الحماية الهجومية


/usr/share/glib-2.0/schemas/90_offsec-defaults.gschema.override: ملف يوفر إعدادات افتراضية بديلة لسطح مكتب جنوم


أولاً ، قم بإنشاء ملف الافتراضات offsec-1.0 الدليل ووضع جميع الملفات في هذا الدليل. ثم اركض dh_make - أصلي (من dh- جعل package) لإضافة تعليمات حزم دبيان ، والتي سيتم تخزينها في ملف ديبيان الدليل الفرعي:


$ mkdir offsec-defaults-1.0 ؛ cd offsec-defaults-1.0 تحديث

$ dh_make - أصلي

نوع الحزمة: (مفرد ، إينديب ، مكتبة ، بيثون) [s / i / l / p]؟ i

عنوان البريد الإلكتروني : [البريد الإلكتروني محمي] الترخيص: gpl3

اسم الحزمة: offsec-defaults Maintainer Name: Raphaël Hertzog الإصدار: 1.0

نوع الحزمة: indep

التاريخ: الخميس ، 16 حزيران (يونيو) 2016 18:04:21 +0200

هل التفاصيل صحيحة؟ [نعم / لا / ف] y

حاليا لا يوجد Makefile المستوى الأعلى. قد يتطلب هذا ضبطًا إضافيًا تم. يرجى تحرير الملفات في debian / subdirectory الآن.

$ mkdir offsec-defaults-1.0 ؛ cd offsec-defaults-1.0 تحديث

$ dh_make - أصلي

نوع الحزمة: (مفرد ، إينديب ، مكتبة ، بيثون) [s / i / l / p]؟ i

عنوان البريد الإلكتروني : [البريد الإلكتروني محمي] الترخيص: gpl3

اسم الحزمة: offsec-defaults Maintainer Name: Raphaël Hertzog الإصدار: 1.0

نوع الحزمة: indep

التاريخ: الخميس ، 16 حزيران (يونيو) 2016 18:04:21 +0200

هل التفاصيل صحيحة؟ [نعم / لا / ف] y

حاليا لا يوجد Makefile المستوى الأعلى. قد يتطلب هذا ضبطًا إضافيًا تم. يرجى تحرير الملفات في debian / subdirectory الآن.


أولاً ، يُطلب منك نوع الحزمة. في المثال ، اخترنا إينديب، مما يشير إلى أن حزمة المصدر هذه ستنشئ حزمة ثنائية واحدة يمكن مشاركتها عبر جميع الهياكل (العمارة: كل شيء). عزباء يعمل كنظير ، وينتج حزمة ثنائية واحدة تعتمد على بنية الهدف (العمارة: أي). في هذه الحالة، إينديب أكثر ملاءمة ، نظرًا لأن الحزمة تحتوي فقط على ملفات نصية ولا تحتوي على برامج ثنائية ، بحيث يمكن استخدامها بشكل مشابه على أجهزة الكمبيوتر من جميع البنى. ال مكتبة الكتابة مفيدة للمكتبات المشتركة ، لأنها تحتاج إلى اتباع قواعد حزم صارمة. بطريقة مماثلة، الثعبان يجب أن يقتصر على وحدات Python النمطية.


اسم المشرف و ستبحث معظم البرامج المشاركة في صيانة الحزمة عن اسمك و

البريد الإلكتروني عنوان البريد الإلكتروني في اسم DEBFULLNAME و تفويض or البريد الإلكتروني متغيرات البيئة. إن تحديدها نهائيًا يمنع إعادة كتابتها عدة مرات. إذا كانت قشرتك المعتادة هي Bash ، فمن السهل إضافة السطرين التاليين في ملفك ~ / .bashrc ملف. فمثلا:

تصدير البريد الإلكتروني =”[البريد الإلكتروني محمي]"

تصدير DEBFULLNAME = ”Raphael Hertzog”


dh_make أمر خلق ديبيان دليل فرعي يحتوي على العديد من الملفات. بعضها مطلوب ، على وجه الخصوص القواعد, مراقبة, التغييرو حقوق الطبع والنشر. الملفات ذات الامتداد .former التمديد عبارة عن ملفات كبيرة يمكن استخدامها عن طريق تعديلها وإزالة الامتداد. عندما لا تكون هناك حاجة إليها ، نوصي بإزالتها. ال COMPAT يجب الاحتفاظ بالملف ، لأنه مطلوب من أجل الأداء الصحيح لملف debhelper مجموعة من البرامج (تبدأ جميعها بامتداد درهم_ بادئة) تستخدم في مراحل مختلفة من عملية بناء الحزمة.

حقوق الطبع والنشر يجب أن يحتوي الملف على معلومات حول مؤلفي المستندات المضمنة في الحزمة ، والترخيص ذي الصلة. إذا تم تحديد الترخيص الافتراضي بواسطة dh_make لا يناسبك ، فيجب عليك تحرير هذا الملف. ها هي النسخة المعدلة من ملف حقوق النشر:


التنسيق: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: offsec-defaults


الملفات: *

حقوق النشر: 2016 رخصة الأمان الهجومية: GPL-3.0 +


الترخيص: GPL-3.0 +

هذا البرنامج عبارة عن برنامج مجاني: يمكنك إعادة توزيعه و / أو تعديله وفقًا لشروط رخصة جنو العمومية على النحو المنشور من قبل مؤسسة البرمجيات الحرة ، إما الإصدار 3 من الترخيص ، أو (حسب اختيارك) أي إصدار لاحق.

.

يتم توزيع هذه الحزمة على أمل أن تكون مفيدة ، ولكن دون أي ضمان ؛ حتى بدون الضمان الضمني لقابلية التسويق أو الملاءمة لغرض معين. انظر

رخصة جنو العمومية العامة لمزيد من التفاصيل.

.

يجب أن تكون قد تلقيت نسخة من رخصة جنو العمومية مع هذا البرنامج. إذا لم يكن كذلك ، انظر .

.

في أنظمة دبيان ، النص الكامل لـ GNU General

يمكن العثور على الإصدار 3 من الرخصة العامة في "/ usr / share / common-licences / GPL-3".

التنسيق: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: offsec-defaults


الملفات: *

حقوق النشر: 2016 رخصة الأمان الهجومية: GPL-3.0 +


الترخيص: GPL-3.0 +

هذا البرنامج عبارة عن برنامج مجاني: يمكنك إعادة توزيعه و / أو تعديله وفقًا لشروط رخصة جنو العمومية على النحو المنشور من قبل مؤسسة البرمجيات الحرة ، إما الإصدار 3 من الترخيص ، أو (حسب اختيارك) أي إصدار لاحق.

.

يتم توزيع هذه الحزمة على أمل أن تكون مفيدة ، ولكن دون أي ضمان ؛ حتى بدون الضمان الضمني لقابلية التسويق أو الملاءمة لغرض معين. انظر

رخصة جنو العمومية العامة لمزيد من التفاصيل.

.

يجب أن تكون قد تلقيت نسخة من رخصة جنو العمومية مع هذا البرنامج. إذا لم يكن كذلك ، انظر .

.

في أنظمة دبيان ، النص الكامل لـ GNU General

يمكن العثور على الإصدار 3 من الرخصة العامة في "/ usr / share / common-licences / GPL-3".

الافتراضي التغيير الملف مناسب بشكل عام ؛ يجب أن يكون استبدال "الإصدار الأولي" بشرح أكثر تفصيلاً كافيًا:


افتراضات الأوفسيك (1.0) غير مستقرة ؛ الإلحاح = متوسط


* إضافة ملف تكوين ملحمة التوابع.

* أضف إدخال sources.list الخاص بـ APT ومفتاح GPG الموثوق به الخاص بـ APT.

* تجاوز مخطط gsettings الذي يحدد صورة الخلفية.


- رافائيل هيرتزوغ[البريد الإلكتروني محمي]> الخميس، 16 يونيو 2016 18:04:21 +0200

افتراضات الأوفسيك (1.0) غير مستقرة ؛ الإلحاح = متوسط


* إضافة ملف تكوين ملحمة التوابع.

* أضف إدخال sources.list الخاص بـ APT ومفتاح GPG الموثوق به الخاص بـ APT.

* تجاوز مخطط gsettings الذي يحدد صورة الخلفية.


- رافائيل هيرتزوغ[البريد الإلكتروني محمي]> الخميس، 16 يونيو 2016 18:04:21 +0200


في المثال ، سنقوم بإجراء تغييرات على ملف مراقبة ملف. سنقوم بتغيير القسم الحقل إلى منوعات وإزالة الصفحة الرئيسية, Vcs- جيتو متصفح Vcs مجالات. أخيرًا ، سنقوم بملء ملف الوصف حقل:


المصدر: قسم الافتراضات في الأوفسيك: متفرقات

الأولوية: اختياري

المشرف: رافائيل هيرتزوغ[البريد الإلكتروني محمي]> يعتمد البناء: debhelper (>= 9)

الإصدار المعياري: 3.9.8


الحزمة: offsec-defaults architecture: all Depends: $ {misc: Depends}

الوصف: الإعدادات الافتراضية للأمان الهجومى

تحتوي هذه الحزمة على ملفات متعددة لتكوين أجهزة الكمبيوتر التي يمتلكها Offensive Security.

.

يعدل بشكل خاص:

- تكوين APT

- تكوين ملح التوابع

- إعدادات سطح المكتب الافتراضية

المصدر: قسم الافتراضات في الأوفسيك: متفرقات

الأولوية: اختياري

المشرف: رافائيل هيرتزوغ[البريد الإلكتروني محمي]> يعتمد البناء: debhelper (>= 9)

الإصدار المعياري: 3.9.8


الحزمة: offsec-defaults architecture: all Depends: $ {misc: Depends}

الوصف: الإعدادات الافتراضية للأمان الهجومى

تحتوي هذه الحزمة على ملفات متعددة لتكوين أجهزة الكمبيوتر التي يمتلكها Offensive Security.

.

يعدل بشكل خاص:

- تكوين APT

- تكوين ملح التوابع

- إعدادات سطح المكتب الافتراضية


القواعد يحتوي الملف عادةً على مجموعة من القواعد المستخدمة لتكوين البرنامج وبنائه وتثبيته في دليل فرعي مخصص (سمي على اسم الحزمة الثنائية التي تم إنشاؤها). يتم بعد ذلك أرشفة محتويات هذا الدليل الفرعي داخل حزمة دبيان كما لو كانت جذر نظام الملفات. في هذه الحالة ، سيتم تثبيت الملفات بتنسيق ديبيان / offsec-defaults / دليل فرعي. على سبيل المثال ، ينتهي الأمر بتثبيت حزمة /etc/apt/sources.list.d/offsec.list، قم بتثبيت الملف بتنسيق debian / offsec-defaults / etc / apt / sources.list.d / offsec.list. القواعد يتم استخدام الملف كملف ماكيفيلي، مع عدد قليل من الأهداف القياسية (بما في ذلك نظيف و ثنائي، تُستخدم على التوالي لتنظيف دليل المصدر وإنشاء الحزمة الثنائية).


ما هو ماكيفيلي ملف؟ ربما لاحظت الرسالة المتعلقة بالمفقودين ماكيفيلي عند نهاية ال dh_make الإخراج وذكر تشابهه مع القواعد ملف. أ ماكيفيلي هو ملف نصي يستخدمه جعل برنامج؛ يصف قواعد كيفية إنشاء مجموعة من الملفات من بعضها البعض في شجرة التبعيات. على سبيل المثال ، يمكن إنشاء برنامج من مجموعة من الملفات المصدر. ال ماكيفيلي يصف ملف هذه القواعد بالتنسيق التالي:

الهدف: source1 source2 ... command1

command2


تفسير مثل هذه القاعدة على النحو التالي: إذا كان أحد مصدر* الملفات أحدث من الهدف ملف ، ثم يجب إنشاء الهدف ، باستخدام command1 و command2.

لاحظ أن أسطر الأوامر يجب أن تبدأ بحرف جدولة ؛ لاحظ أيضًا أنه عندما يبدأ سطر الأوامر بحرف شرطة (-) ، فإن فشل الأمر لا يقطع العملية برمتها.


على الرغم من أن هذا الملف هو قلب العملية ، إلا أنه يحتوي فقط على الحد الأدنى لتشغيل مجموعة قياسية من الأوامر التي يوفرها debhelper أداة. هذا هو الحال بالنسبة للملفات التي تم إنشاؤها بواسطة dh_make. لتثبيت معظم ملفاتك ، نوصي بتكوين سلوك ملف dh_install الأمر عن طريق إنشاء ما يلي debian / offsec-defaults.install ملف:


apt / offsec.list etc / apt / sources.list.d / apt / offsec.gpg etc / apt / trust.gpg.d / salt / offsec.conf etc / salt / minion.d / images / background.png usr / مشاركة / صور / أوفسيك /

apt / offsec.list etc / apt / sources.list.d / apt / offsec.gpg etc / apt / trust.gpg.d / salt / offsec.conf etc / salt / minion.d / images / background.png usr / مشاركة / صور / أوفسيك /


يمكنك أيضًا استخدام هذا لتثبيت ملف تجاوز gsettings لكن debhelper يوفر أداة مخصصة لهذا (dh_installgsettings) حتى تتمكن من الاعتماد عليها. أولاً ، ضع إعداداتك debian / offsec-defaults.gsettings-override:


[org.gnome.desktop.background] خيارات الصورة = "تكبير"

picture-uri = 'file: ///usr/share/images/offsec/background.png'

[org.gnome.desktop.background] خيارات الصورة = "تكبير"

picture-uri = 'file: ///usr/share/images/offsec/background.png'


بعد ذلك ، تجاوز dh_installgsettings اتصل ديبيان / القواعد لزيادة الأولوية إلى المستوى المتوقع لتجاوز المؤسسة (وهو 90 وفقًا لصفحة الدليل):


#! / usr / bin / make -f


%:

درهم @


override_dh_installgsettings: dh_installgsettings - الأولوية = 90

#! / usr / bin / make -f


%:

درهم @


override_dh_installgsettings: dh_installgsettings - الأولوية = 90

صورة

في هذه المرحلة ، تكون الحزمة المصدر جاهزة. كل ما تبقى القيام به هو إنشاء الحزمة الثنائية بنفس الطريقة المستخدمة سابقًا لإعادة إنشاء الحزم: قم بتشغيل dpkg-buildpackage-لنا

-uc من داخل دليل offsec-defaults-1.0:


$ dpkg-buildpackage -us -uc

dpkg-buildpackage: info: حزمة المصدر offsec-defaults dpkg-buildpackage: info: source version 1.0

dpkg-buildpackage: info: توزيع المصدر غير مستقر

dpkg-buildpackage: المعلومات: تم تغيير المصدر بواسطة رافائيل هيرتزوغ[البريد الإلكتروني محمي]> dpkg-buildpackage: المعلومات: بنية المضيف amd64

dpkg-source - قبل-build offsec-defaults-1.0 fakeroot debian / rules clean

درهم نظيف

dh_testdir dh_auto_clean dh_clean

dpkg-source -b offsec-defaults-1.0 تحديث

مصدر dpkg: معلومات: استخدام تنسيق المصدر "3.0 (أصلي)"

dpkg-source: info: build offsec-defaults في offsec-defaults_1.0.tar.xz dpkg-source: info: build offsec-defaults in offsec-defaults_1.0.dsc

دبيان / قواعد بناء درهم بناء

dh_testdir dh_update_autotools_config dh_auto_configure dh_auto_build

dh_auto_test

fakeroot Debian / القواعد binary dh binary

dh_testroot dh_prep dh_auto_install dh_install dh_installdocs

dh_installchangelogs

debian / rules override_dh_installgsettings

make [1]: إدخال الدليل '/home/rhertzog/kali/kali-book/samples/offsec-defaults-1.0' dh_installgsettings - الأولوية = 90

make [1]: مغادرة الدليل '/home/rhertzog/kali/kali-book/samples/offsec-defaults-1.0' dh_perl

dh_link dh_strip_nondeterminism dh_compress

dh_fixperms dh_installdeb dh_gencontrol dh_md5sums


dh_builddeb

dpkg-deb: إنشاء الحزمة "offsec-defaults" في "../offsec-defaults_1.0_all.deb". dpkg-genchanges> ../ offsec-defaults_1.0_amd64.changes

dpkg-genchanges: المعلومات: بما في ذلك كود المصدر الكامل في التحميل dpkg-source - after-build offsec-defaults-1.0

dpkg-buildpackage: معلومات: تحميل كامل ؛ حزمة Debian-native (المصدر الكامل مضمن)

dh_builddeb

dpkg-deb: إنشاء الحزمة "offsec-defaults" في "../offsec-defaults_1.0_all.deb". dpkg-genchanges> ../ offsec-defaults_1.0_amd64.changes

dpkg-genchanges: المعلومات: بما في ذلك كود المصدر الكامل في التحميل dpkg-source - after-build offsec-defaults-1.0

dpkg-buildpackage: معلومات: تحميل كامل ؛ حزمة Debian-native (المصدر الكامل مضمن)


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: