نظرة عامة
عند إعادة تنظيم خوادم لينكس أو تحديث السياسات الأمنية للمستخدمين، تبرز الحاجة لنقل البنية التحتية لمفاتيح GPG وإعداداتها المشفرة إلى مسارات تخزين جديدة ومطابقة للمعايير. توفر منظومة GnuPG لهذه الغاية أداة مساعدة مخصصة تُعرف باسم addgnupghome. يستعرض هذا الدليل الآلية الهيكلية لتلك الأداة، متبوعة بخطوات تطبيقية شاملة تحاكي سيناريو ترحيل متكامل والتحقق من صحة الأذونات وسلامة البيانات المنقولة.
1. تجهيز حزم GnuPG والتحقق من وجود أداة addgnupghome
نبدأ أولاً بتثبيت حزم التشفير الأساسية من خلال جلب كل من gnupg وgpgv لضمان توافر كافة الأدوات المساعدة المطلوبة في بيئة العمل.

للتأكد من قابلية استدعاء أداة الترحيل واكتمال تثبيتها ضمن المسار النظامي الافتراضي /usr/sbin/addgnupghome، نستعين بأمر الفحص السريع which.
تتولى الأداة addgnupghome مهمة إنشاء هيكل مجلدات GPG القياسي (~/.gnupg) أو نقل محتويات المجلدات السابقة إلى حسابات ومسارات جديدة بصورة منظمة.
⚙️ [المعامل الأساسي للأداة]
account : يُحدد اسم المستخدم أو الحساب المستهدف لتهيئة أو ترحيل مجلد GPG الرئيسي الخاص به.

يمكن للمسؤول استعراض خيارات الاستخدام السريع أو دليل المساعدة للأداة من خلال سطر الأوامر.
تجدر الإشارة إلى أن نسخ Ubuntu المصغرة (Minimal) قد لا تشتمل على صفحات الدليل التوثيقي (man pages) بشكل افتراضي، مما يؤدي لظهور إشعار توجيهي عند طلبها.

2. بناء بيئة تجريبية: إنشاء مجلد GPG قديم وتوليد مفاتيح للاختبار
بهدف محاكاة عملية النقل دون المساس بالمفاتيح الفعلية، نقوم بتهيئة مجلد تجريبي يمثل المسار القديم، مع منحه فوراً صلاحيات وصول صارمة مقيدة بالقيمة 700.

نقوم بعد ذلك بإصدار زوج مفاتيح GPG تجريبي داخل هذا المسار المحدد عبر وسيط التوليد السريع gpg --quick-generate-key.
يتم إنشاء مفتاح افتراضي لمستخدم اختباري بصلاحية تمتد لعام كامل دون تعيين كلمة مرور، ومحصور بالكامل داخل مسار الدليل التجريبي المستهدف (--homedir /tmp/legacy-gnupg).

عبر استعراض الملفات الخفية بواسطة ls -la، نتأكد من اكتمال عناصر البيئة الداخلية، مثل حلقة المفاتيح العامة (pubring.kbx)، وقاعدة بيانات مستويات الثقة (trustdb.gpg)، والمجلد المخصص للمفاتيح الخاصة.

3. تنفيذ عملية الترحيل الهيكلي باستخدام addgnupghome
نشرع في إعداد الوجهة الجديدة عن طريق إنشاء المجلد المراد استقبال البيانات المنقولة فيه عبر تنفيذ mkdir -p /tmp/new-gnupg.

نقوم الآن بتشغيل addgnupghome لتوجيه عملية الهجرة من المصدر السابق /tmp/legacy-gnupg نحو الهدف الجديد /tmp/new-gnupg.
تُنجز الأداة معالجة البيانات وإعادة تكييف المسارات بسلام ودون تسجيل أي تعارضات، معلنةً إتمام عملية الترحيل بنجاح.

للاطلاع على نتائج النقل والتأكد من بنية المسار المستقبل، نستعرض المحتويات المسجلة داخل الدليل الجديد بواسطة أمر ls -la /tmp/new-gnupg.

4. التحقق من سلامة المفاتيح وضبط تصاريح الوصول الأمنية
يتحتم علينا التحقق من قدرة النظام على قراءة المفاتيح المرحّلة بصورة سليمة؛ لذا نقوم باستعلام قائمة المفاتيح عبر تعيين المسار الجديد صراحة: gpg --homedir /tmp/new-gnupg --list-keys.
يؤكد ظهور السجلات أن المفتاح العام وهوية المستخدم قد تم استيرادهما والتعرف عليهما دون أي خلل.

تتطلب معايير أمان GnuPG تقييد صلاحيات الدخول لمنع أي وصول غير مصرح به للمفاتيح الخاصة؛ حيث يتم إعطاء المجلد الرئيسي نفسه تصريح 700، بينما تُقيد جميع الملفات المندرجة تحته بتصريح 600.
تضمن هذه التهيئة قصر صلاحيات القراءة والكتابة حصرياً على مالك الحساب، وتفادي تحذيرات GnuPG الأمنية الشائعة.

نتحقق نهائياً من صحة الإعدادات الأمنية للمجلد المستهدف عبر الأمر ls -ld، لنتأكد من تطابق نمط الأذونات مع النمط القياسي drwx------ (700).

في ختام التدريب العملي، نقوم بإزالة المجلدات المؤقتة التي تم استخدامها للاختبار عبر تنفيذ rm -rf /tmp/legacy-gnupg /tmp/new-gnupg.
يؤدي هذا الإجراء إلى تنظيف مساحة النظام وإلغاء أي آثار للملفات التجريبية السابقة.

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