آپ نے منظور شدہ CA بنڈل نصب کر لیا اور درخواست ٹرمینل میں چلتی ہے۔ سروس اب بھی سرٹیفکیٹ لوڈ کرنے کی خرابی دیتی ہے۔ پراکسی IP بدلنے سے پہلے دیکھیں کیا وہ پراسیس وہی فائل کھول سکتا ہے۔

سروس دوسرے Unix صارف کے طور پر چل سکتی ہے، دوسرے فولڈر سے شروع ہو سکتی ہے یا محدود فائل سسٹم دیکھ سکتی ہے۔ آپ کے لاگ ان کے لیے درست راستہ خود بخود اس کے لیے درست نہیں۔

مطلق راستے سے شروع کریں

اصل کلائنٹ میں طے کردہ راستہ دیکھیں۔ مثلاً curl میں --cacert منزل کا CA بنڈل چنتا ہے؛ HTTPS پراکسی کے الگ پراکسی CA آپشن ہوتے ہیں۔ دوسرے کلائنٹس اپنی ترتیب کی کلیدیں یا ماحولیاتی متغیرات استعمال کرتے ہیں۔

فائل اور اس تک آنے والے فولڈر دونوں جانچیں:

namei -l /home/alex/certs/approved-ca.pem
systemctl show example.service -p User -p Group -p ProtectHome -p RootDirectory

یہ تشخیصی مثالیں ہیں، فائل سب کے لیے قابل تحریر بنانے کی ہدایات نہیں۔ فولڈروں سے گزرنے کی اجازت آخری فائل پڑھنے کی اجازت جتنی اہم ہے۔

شاید مسئلہ صرف اجازتوں کا نہ ہو

ProtectHome=yes کے ساتھ systemd عام ہوم فولڈر مقامات سروس کے لیے ناقابل رسائی بناتا ہے۔ سرٹیفکیٹ فائل کا موڈ بدلنے سے نام کی جگہ کی پابندی ختم نہیں ہوتی۔ طے کردہ روٹ فولڈر بھی سروس کے اندر مطلق راستے کا مطلب بدل سکتا ہے۔

سروس ترتیب کے لیے مناسب جگہ استعمال کریں، مثلاً /etc کے تحت ایپ کا مخصوص فولڈر، اور صرف ضروری پڑھنے کی اجازت دیں۔ کلائنٹ کا CA راستہ بدلیں۔ پہلی نقل ذاتی ہوم فولڈر میں تھی تو اس وجہ سے غیر متعلق فائل سسٹم پابندیاں نہ ہٹائیں۔

پہلی مفید خرابی پڑھیں

«CA فائل لوڈ نہیں ہو سکتی» اور «سرٹیفکیٹ چین قابل اعتماد نہیں» الگ ناکامیاں ہیں۔ پہلی کلائنٹ کے کسی چیز کی تصدیق سے پہلے ہو سکتی ہے۔ دوسری کا مطلب ہو سکتا ہے کہ پڑھے جانے والے بنڈل میں غلط اتھارٹی ہے یا وہ غلط TLS کنکشن پر لگ رہا ہے۔

رسائی درست کرکے سروس کے سیاق سے دوبارہ جانچیں۔ کامیاب ٹرمینل کمانڈ مفید تقابل ہے مگر ثابت نہیں کرتی کہ سروس کون سی فائلیں دیکھتی ہے یا کلائنٹ کون سی اعتماد کی ترتیب استعمال کرتا ہے۔

متعلقہ مضامین