أكثر

خادم Qgis على Ubuntu Server 14.04: تم رفض الإذن

خادم Qgis على Ubuntu Server 14.04: تم رفض الإذن


أحاول تثبيت وتكوين Qgis Server (2.0.1) على خادم افتراضي باستخدام ubuntu 14.04 و Apache 2.4.7. بعد محاولة التثبيت بشكل طبيعي ، أعطاني الخادم خطأ 404 ، لذلك حاولت إضافة تكوين إلى /etc/apache2/sites-available/000-default.conf باتباع مقتطفات التعليمات البرمجية المختلفة ، ولكن كل محاولة تؤدي إلى خطأ 403 (تم رفض الإذن ) ، اختبار على سبيل المثال عنوان url مثل "/cgi-bin/qgis_mapserv.fcgi؟SERVICE=WMS&REQUEST=GetCapabilities" ما هي الخطوات الصحيحة لتهيئة Qgis؟


هنا خطواتي المعتادة لتكوين wms di qgis (2.4) تم اختبارها على ubuntu 12.04 و 14.04

1) قم بتثبيت بعض الحزم المطلوبة:

sudo apt-get install qgis-mapserver libapache2-mod-fcgid

2) تأكد من تمكين fastcgi في وحدات apache2:

ls -la /etc/apache2/mods-enabled/fcgid.conf

2 أ) قم بتعديل /etc/apache2/sites-available/000-default.conf وأضف داخل VirtualHost:ScriptAlias ​​/ cgi-bin / / usr / lib / cgi-bin / خيارات ExecCGI FollowSymLinks تتطلب جميع AddHandler fcgid-script .fcgi الممنوح

3) أعد تشغيل خادم apache2 http

إعادة تشغيل sudo خدمة apache2

4) حاول الوصول إلى الخدمة باستخدام نوع المتصفح:

http://127.0.0.1/cgi-bin/qgis_mapserv.fcgi؟SERVICE=WMS&REQUEST=GetCapabilities

5) جرب مشروع qgis في dirs المستخدم الخاص بك:

/home/ubuntu/my_qgis_project_dir/my_qgis_project.qgs

ما زلت تستخدم متصفحًا تحقق من عنوان الويب (لاحظ أن MAP لها مسار مطلق للمشروع ، وإلا ستحصل على خطأ 500):

http://127.0.0.1/cgi-bin/qgis_mapserv.fcgi؟SERVICE=WMS&MAP=/home/ubuntu/my_qgis_project_dir/my_qgis_project.qgs&REQUEST=GetCapabilities

6) استخدم qgis (أو أيضًا برنامج عميل آخر) وأضف خدمة WMS

قائمة Qgis: Layer → Add layer WMS / WMTS layer

ما عليك سوى إضافة عنوان http أعلاه ... الاتصال بالخدمة وإضافة الطبقات المطلوبة


إذا حصلت على أخطاء 403 ، فيرجى التحقق من أن أذونات dir $ HOME الخاصة بك هي drwxr-xr-x وكذلك بعض apache2 conf:

http://www.cyberciti.biz/faq/apache-403-forbidden-error-and-solution/


تم رفض الأذونات في QGIS (ربما جميع برامج KDE)؟

مواجهة عطل عند طلب QGIS 2.2 للوصول إلى البيانات على جهاز سطح المكتب. يعمل بنظام التشغيل Ubuntu 14.04 LTS.

يسمح لي تشغيل QGIS لسطح المكتب كجذر عبر الجهاز بفتح الملفات! ولكنه ينبثق أيضًا برسالة خطأ فور تشغيل البرنامج (أي بعد اختفاء الرسم الأولي للتحميل / الترحيب):

الطبقة / المستخدم / المشاركة / التطبيقات /٪ F ليست طبقة صالحة ولا يمكن إضافتها إلى الخريطة

أي فكرة عن كيفية جعل QGIS يعمل من واجهة المستخدم الرسومية (وحدة) بامتيازات الجذر دون الحاجة إلى فتحه عبر المحطة وإضافة بادئة sudo؟

لقد جربت الحل المقدم أدناه بواسطة edm ، لكن النافذة المفتوحة معلقة وأتلقى أخطاء تتعلق بـ klauncher: تعذر بدء العملية لا يمكن التحدث إلى klauncher: غير متصل بخادم D-Bus. كيف يتم تشغيل التطبيق كجذر من Unity Launcher؟

قد يكون ملف التعريف الخاص بي في كيدي تالفًا. هل من أفكار حول كيفية تصحيح ذلك حتى أتمكن من تشغيل QGIS من الوحدة؟

ما زلت مبتدئًا في هذا الأمر ، لذا يرجى تقديم أي إرشادات يجب أن أطلبها لنشر المزيد من مخرجات الأوامر.

qgis.bin (32381) / KSharedDataCache KSharedDataCache :: Private :: mapSharedMemory: فشل في إنشاء تعيين الذاكرة المشتركة ، سيعود إلى الذاكرة الخاصة - سيؤدي استخدام الذاكرة إلى زيادة تشغيل kbuildsycoca4. kbuildsycoca4: خطأ في إنشاء قاعدة بيانات '/home/lyndon/.kde/cache-Gerhard-ThinkPad-W530/ksycoca4'! أذونات غير كافية في الدليل الهدف. تحذير: خطأ: فشل تشغيل KSycoca. توفي QGIS على إشارة 11ptrace: العملية غير مسموح بها. لم يتم تحديد أي موضوع لا يوجد مكدس. أعاد gdb 0 تم إحباطه (تم تفريغ Core) '

أي طلب ، مثل فتح ملف أو تصفح أو إنشاء مشروع جديد وما إلى ذلك ، سيؤدي إلى هذا التعطل.

يعمل تشغيل البرنامج عن طريق الجذر (عبر المحطة الطرفية). لكن حدث خطأ جديد:


1 إجابة 1

تحقق من أذوناتك على مسار الملف بالكامل. تحقق من مجلد المشاريع وتأكد من أنه 755. لن يضر بإعطائها مالك ومجموعة بيانات شبكة الاتصالات العالمية. إذا كان لديك أي ملفات .htaccess ، فتأكد من تخصيص 644 وليس 755 أيضًا.

كما أنك تقوم بخلط توجيهات إصدار Apache. يبدو أنك قد تستخدم الإصدار 2.4 نظرًا لأنك تستخدم Ubuntu 14.04. لذلك أنت بحاجة إلى إزالة هذه التوجيهات.

2.4 ما عليك سوى طلب كل الممنوحة.

أود أيضًا إضافة توجيه DirectoryIndex للتأكد من أنه يبحث عن ملف فهرس. إذا لم يتعرف على أحد ، فسيحاول سرد الدليل وسيؤدي إيقاف تشغيل الفهارس إلى حدوث خطأ محظور 403 أيضًا. ضع هذا في vhost في علامة الدليل بعد طلب كل الممنوحات.

أيضًا في بعض الحالات يكون SELinux بغيضًا ويسبب مشكلات في الإذن أيضًا. إذا فشل كل شيء آخر وكان لديك SELinux قيد التشغيل ، فقم بتعطيله مؤقتًا لمعرفة ما إذا كان سيؤدي إلى حل مشكلاتك.

سيخبرك هذا ما إذا كان يتم فرضه أم لا.

سيؤدي هذا إلى تعيينه على السماح ثم يمكنك اختبار تحميل الموقع. سيكون هذا مؤقتًا ولن يصمد أمام إعادة التشغيل. ومع ذلك يمكنك جعلها دائمة.

يمكنك استخدام الأمر chcon لتغيير سياق الأمان. فمثلا

كما هو الحال دائمًا ، أعد تحميل / إعادة تشغيل apache لأي تغييرات في تهيئة Apache. نأمل أن يساعدك شيء ما هنا في حل مشكلة رفض الإذن الـ 13.


مشكلات الأذونات مع /etc/ssl/certs/ca-certificates.crt

عند محاولة تجعيد أو استنساخ شيء ما عبر HTTPS كمستخدم عادي ، فإنه يفشل مع الخطأ:

ملحوظة: إذا قمت بتشغيل الأوامر كجذر ، فستعمل بشكل جيد ، ولكن لا ينبغي أن يكون الجذر هو المستخدم الوحيد القادر على التواصل عبر ssl.

لذلك أعتقد في نفسي ، حسنًا ، ما الذي تفعله الضفيرة وراء الكواليس:

نتيجة لذلك ، يمكننا التأكد من أن ملف شهادة ca هو: /etc/ssl/certs/ca-certificates.crt الذي يطابق إخراج curl-config -ca.

الخطوة التالية هي محاولة قراءة الملف. كمستخدم قديم عادي وليس مستخدمًا جذريًا:

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

عمل ls -la / etc / ssl / certs / المرتجعات:

إذا قمت بتشغيل sudo cat /etc/ssl/certs/ca-certificates.pem ، فإنه يبصق المحتويات كما هو متوقع.

أوه ، هذا بالتأكيد مشكلة أذونات.

أثناء إجراء بعض البحث في googling ، وجدت أن هناك مجموعة ssl-cert ، لكن هذه المجموعة لا تملك حقوقًا في الدليل / etc / ssl / certs.

تم استبعاده ، واستبعد تلف القرص ، ولا يوجد تحسن إذا قمت بتشغيل شهادات التحديث (w / wo -f) ، إلخ.

وقد أي شخص ينظر إلى هذا السلوك؟

لم أر شيئًا كهذا من قبل ، لكنني قمت بنسخه على جهازين منفصلين. كملاحظة ، لقد جئت من خلفية CentOS / RHEL ، لذلك قد يكون هذا سلوكًا طبيعيًا لـ Ubuntu ، لكني أرغب في إيجاد حل حقيقي.


السبب الجذري:

تحدث العديد من المشكلات الأكثر شيوعًا المتعلقة بالمصادقة المستندة إلى المفتاح بسبب أذونات الملفات أو الملكية غير الصحيحة. فيما يلي بعض الخطوات التي يمكنك اتخاذها لاستكشاف هذه المشكلة وإصلاحها:

-تأكد من أن ملف Author_keys والمفتاح الخاص نفسه لهما الأذونات والملكية الصحيحة.

-تحقق من أن الخادم يسمح بالمصادقة القائمة على المفتاح.

-تأكد من أن المفتاح الخاص يمكن قراءته بواسطة عميل SSH.

- ربما تستخدم مفتاحًا خاصًا لم يعد مدعومًا في خدمة OpenSSH. يؤثر هذا بشكل شائع عند استخدام مفتاح SSH DSA خاص. لذا حاول إنشاء زوج مفاتيح RSA 2048 بت.


خطأ SSH: تم رفض الإذن ، يرجى المحاولة مرة أخرى

لدي إعداد خادم Ubuntu باستخدام مثيل amazon ec2. أحتاج إلى توصيل سطح المكتب (وهو أيضًا جهاز ubuntu) بخادم ubuntu باستخدام SSH.

لقد قمت بتثبيت open-ssh في خادم ubuntu. أحتاج إلى جميع أنظمة شبكتي لتوصيل خادم ubuntu باستخدام SSH (لا حاجة للاتصال من خلال مفاتيح pem أو pub).

ومن ثم فتح منفذ SSH 22 لعنوان IP الثابت الخاص بي في مجموعات الأمان (AWS).

من خلال webmin (Command shell) ، قمت بإنشاء مستخدم جديد باسم "senthil" وأضفت هذا المستخدم الجديد إلى مجموعة sudo.

حاولت تسجيل الدخول باستخدام هذا المستخدم الجديد "senthil" في "webmin". لقد تمكنت من تسجيل الدخول بنجاح.

عندما حاولت توصيل خادم ubuntu من طرفي عبر SSH ،

طلب مني إدخال كلمة المرور. بعد إدخال كلمة المرور ، تم عرض:

في بعض الأبحاث ، أدركت أنني بحاجة إلى مراقبة سجل مصادقة الخادم الخاص بي لهذا الغرض. تلقيت الخطأ التالي في سجل المصادقة الخاص بي (/var/log/auth.log)

عندما حاولت التصحيح باستخدام:

بالنسبة لكلمة المرور ، قمت بإدخال نفس القيمة التي أستخدمها عادةً لمستخدم "ubuntu".

هل يمكن لأي شخص أن يرشدني إلى مكان المشكلة ويقترح بعض الحلول لهذه المشكلة؟


إذا كنت تقدر ما نقوم به هنا على TecMint ، فيجب أن تفكر في:

TecMint هو موقع المجتمع الأسرع نموًا والأكثر ثقة لأي نوع من مقالات وأدلة وكتب Linux على الويب. يزور الملايين من الناس TecMint! للبحث أو تصفح آلاف المقالات المنشورة المتاحة مجانًا للجميع.

إذا كنت تحب ما تقرأه ، فيرجى التفكير في شراء فنجان (أو 2) لنا كعربون تقدير.

نحن ممتنون لدعمك الذي لا ينتهي.


تنفيذ ls -l | يجب أن يمنحك grep home من / على الخادم البعيد معرفة بمن يملك المجلد وأذونات الوصول التي يمتلكها. المعيار القياسي للمجلد الرئيسي هو ذلك الجذر: يمتلك الجذر 755 كأذونات للمجلد (اقرأ المزيد حول أذونات المجلد والملفات هنا)

ينص هذا الإخراج على أن جذر المستخدم مع جذر المجموعة يمتلك المجلد (d) الرئيسي ولديه إذن كامل (rwx) ، بينما يمتلك الآخرون من جذر المجموعة بالإضافة إلى الآخرين إذن قراءة / تنفيذ (r-x) ولكن ليس اكتب الإذن.

يعني المستخدم الذي لديه sudo -rights أن المستخدم المذكور قد يكون لديه امتيازات الجذر مؤقتًا بعد المصادقة ، وهو أمر غير مقبول حقًا مع rsync.


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

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

قد لا ينتمي المستخدم الخاص بك إلى بلوتوث المجموعة ، يمكنك مراجعة أمر معرف الكتابة الخاص بك في محطة طرفية أو إضافة المستخدم الخاص بك باستخدام:

ساعدني هذا الويكي كثيرًا.

Os = Ubuntu Mate (الإصدار 20.04 LTS (Focal Fossa) 64 بت)

الإجراءات التي اتبعتها في المبنى:

# الزوج xx: xx: xx: xx: xx: xx. (هنا أدخل عنوان جهازك من نتائج الفحص) - سيتم تقديمك بطلب رقم التعريف الشخصي. عادة يجب أن تعمل 1234 أو 0000 (للمتحدثين و / أو سماعات الرأس). إذا كنت تقوم بالاقتران بهاتف ، فيمكنك استخدام أي رقم التعريف الشخصي المكون من أربعة أرقام لأنك ستدخل نفس الرقم على جهازك.


5 إجابات 5

جرب الأوامر التالية ، واحدة تلو الأخرى. إذا تقدمت ، فربما تم حذف المجلدات المعنية بالفعل:

sudo apt-get purge texlive *

sudo rm -rf / usr / local / texlive / * و rm -rf

sudo rm -rf / usr / local / share / texmf

sudo apt-get remove tex-common --purge

find -L / usr / local / bin / -lname / usr / local / texlive / * / bin / * | xargs -r rm

يعثر هذا على جميع الملفات الموجودة في / usr / local / bin التي تشير إلى موقع داخل / usr / local / texlive / * / bin / * ويزيلها لأننا قمنا بالفعل بحذف كل / usr / local / texlive ، هذه هي الروابط الميتة. لمعرفة الملفات التي يتم حذفها ، استبدل xargs rm بـ xargs -t rm (أو قم بإيقاف تشغيل ملف السجل ، أو أيًا كان).

تحديث

في حالة - بعد الأمر الأخير (8.) - يقوم الجهاز بإرجاع شيء من هذا القبيل

إذا كنت تعرف ما تفعله ، يمكنك إضافة sudo بين الأنابيب و xargs rm ، بحيث يصبح

أو ، لكي تكون أكثر حرصًا وأكثر شمولاً ، اتبع خطوات هذه الإجابة ، التي نجحت معي.

التحديث 2

راجع هذه الإجابة لحل مشكلة rm: المعامل المفقود عند التشغيل (8.)