أذونات Linux لمسؤولي النظام والمطورين

أذونات Linux لمسؤولي النظام والمطورين

أذونات Linux لمسؤولي النظام والمطورين

مسألة الأذونات في Linux واستخدامها الصحيح من خلال أمر "chmod" أمر شائع جدًا يتم عرضه ومناقشته في مجتمعات SL. من قبل المستخدمين المتقدمين والفنيين ومسؤولي الخوادم والأنظمة. على سبيل المثال في مدونتنا لدينا منشورتان جيدتان جدًا حول هذا الموضوع ، وهما: الأذونات والحقوق في Linux (01/12) y الأذونات الأساسية في GNU / Linux مع chmod (08/16).

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

أذونات Linux لـ DevOps / BDA: مقدمة

مقدمة

الامر "شمود»مفيد جدًا ومهم للاستخدام المتقدم لأنظمة التشغيل المستندة إلى Linux. ومع ذلك ، فإن "chmod" على هذا النحو ليست حزمة قائمة بذاتها ، ولكنها مدمجة في الحزمة "coreutils«. حزمة "coreutils" هي حزمة تزود نظام التشغيل بالعديد من الأدوات الأساسية لإدارة الملفات ومترجمي الأوامر ومعالجة النصوص. وبشكل عام ، تم تثبيته بالفعل افتراضيًا في معظم Linux Distros.

على وجه التحديد ، تحتوي هذه الحزمة ، بالإضافة إلى الأمر "chmod" ، على الأوامر التالية: قوس base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env توسيع expr عامل false flock fmt أضعاف مجموعات رئيس hostid id تثبيت رابط الانضمام ln logname ls md5sum mkdir mkfifo mknod mktemp mv nh numfmt od لصق pathchk الخنصر العلاقات العامة printenv printf ptx pwd readlink realpath rm rmdir runcon sha * sum seq shred sleep فرز تقسيم stat stty sum sync tac tail tee test timeout touch tr truncate true uniq uniq uniq uniq uniq مستخدم vdir wc whoami yes.

باختصار ، يسمح الأمر "chmod" بالمهمة بالغة الأهمية لإدارة أذونات الملفات والمجلدات لجميع المستخدمين الذين يديرهم نظام التشغيل. هذا لأن Linux كنظام تشغيل متعدد المستخدمين ، وبالتالي ، فإنه يحتاج إلى تزويد بيئة العمل بنظام إذن للتحكم في مجموعة العمليات المصرح بها على الملفات والأدلة ، والتي تشمل جميع موارد النظام و الأجهزة.

محتوى

أذونات Linux لـ SW / BD: المحتوى 1

استخدم لمطوري البرامج

يحتاج مسؤول الخادم والأنظمة (Sysadmin) عند تحديد الأذونات التي تمنح لمستخدم مستوى X أو ملف تعريف على ملف أو مجلد X ، إلى معرفة نوع العمليات أو العمليات التي يحتاجون إليها بالضبط. في حالة خادم الويب ، يمكن تصنيف المستخدمين إلى نوعين:

  1. المستخدمون المسؤولون: من لديهم حساب مستخدم على الخادم لتسجيل الدخول ، ولديهم امتيازات محددة ، والذين يقومون عمومًا بإجراء تغييرات معينة (نسخ / حذف / تعديل) في النظام أو موقع الويب المثبت عبر SSH أو SFTP ، على سبيل المثال.
  2. المستخدمون غير المسؤولين: أنه ليس لديهم حساب مستخدم على الخادم ، لأنهم فقط زوار الموقع ونظام الويب. وبالتالي ، ليس لديهم أذونات للوصول إلى الملفات والمجلدات مباشرة ، بل يتفاعلون معها ، من خلال واجهة الويب الخاصة بالموقع أو نظام الويب المثبت.

ومع ذلك ، عندما لا يتلقى مسؤول النظام ما يكفي أو كافٍ المعلومات أو الوثائق أو الدعم من قبل مطوري البرامج حول القدرات والوظائف أو بنية الملفات لمواقع الويب والأنظمة التي سيتم تثبيتها ينتهي الأمر بتنفيذ الحد الأقصى الموثوق به ، والذي يكون عادةً في هذه الحالة:

chmod 777 -R /var/www/sistema-web

وفي كثير من الأحيان تنتهي بـ:

chown root:root -R /var/www/sistema-web

أذونات Linux لـ SW / BD: المحتوى 2

تحذير

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

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

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

أذونات Linux لـ SW / BD: المحتوى 3

التوصيات

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

على مستوى الإذن ، يمكن تنفيذ الأوامر الثلاثة التالية لاستعادة أذونات ومستخدمي النظام أو موقع الويب المثبت إلى الوضع الطبيعي.بمعنى آخر ، قم بتعيين القيمة 755 لجميع الدلائل و 644 إلى الملفات.

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

أذونات Linux لـ SW / BD: المحتوى 4

الأذونات المطبقة على المجلدات (الدلائل)

أمثلة

الدلائل وأذونات الملفات

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

y

chmod 777 -R .

o

chmod 777 -R /var/www/sistema-web

في حالة كونك خارج المجلد (الدليل) الخاص بالنظام أو الموقع.

مستخدمو النظام أو الموقع

chown www-data:www-data -R .

o

chown www-data:www-data -R /var/www/sistema-web

في حالة كونك خارج المجلد (الدليل) الخاص بالنظام أو الموقع. ويتم استخدام بيانات www-data فقط كمثال ، لأنها الأكثر استخدامًا أو ملاءمة فيما يتعلق باستخدام Apache2.

أذونات Linux لـ SW / BD: المحتوى 5

يتم تطبيق الأذونات على الملفات (الملفات)

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

أذونات Linux لـ SW / BD: خاتمة

اختتام

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

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


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   بولج 28 قال

    صباح الخير. كيف حالك؟
    أنا أعمل في لينكس ، لدي تطبيق يمكنه استيراد الملفات منه ، يقوم المستخدم بتحميل ملف .zip يحتوي على مجلد به ملفات xml ، بعد فك ضغط الملفات التي تم إدراجها في قاعدة البيانات. في نظام التشغيل windows ، لا أواجه أي مشاكل ، عند تمرير التطبيق إلى نظام Linux ، سأفقد بعض الأذونات ، من حيث المبدأ لاختبار كل ما فعلته بما يقولونه في هذه المقالة ولا ينبغي أن يتم ذلك (لكنني سأتغير بمجرد التحقق من صحة جميع الوظائف) .
    الحقيقة هي أن الملفات تم فك ضغطها ولكني أرى أنه يتم تنزيلها فقط بأذونات القراءة والكتابة للمالك ، وقراءتها لمجموعة المالك وبدون أذونات للآخرين. عندما تكون الملفات مملوكة للمستخدم الذي يستخدم التطبيق. أتفهم أنه من خلال عدم امتلاك أذونات التنفيذ ، فإنه لا يكون قادرًا على متابعة التدفق الطبيعي للعملية والمضي قدمًا في إدراج xml في قاعدة البيانات. الذي يأتي إليه سؤالي ، كيف يمكنني منح أذونات لملفات ليست لدي على النظام بعد؟ في المجلد الذي تم تنزيله (tmp) ، يحتوي على جميع الأذونات ، ويتم تطبيقها بطريقة إعادة مائلة ولكن في كل مرة يتم فيها تنزيل الملفات داخل هذا المجلد ، يكون لديهم الأذونات المذكورة فقط. هل هناك أي طريقة يمكن من خلالها ترك أذونات التنفيذ للملفات التي تظهر في هذا المجلد أيضًا؟
    اتمنى ان اكون واضحا وشكرا جزيلا مقدما ومدونة ممتازة

  2.   تثبيت Linux Post قال

    أفترض أن المجلد / tmp أو ... / tmp لديه 755 إذنًا ولكن حتى إذا قام المستخدم الذي يمتلك التطبيق بإيداعها ، فإنه يترك لهم أذونات أخرى. أنا لست مطورًا لكني أفترض أنه في لغة التطبيق أو لغة أخرى يمكن أن يشير إليه أحد الإجراءات الروتينية التي تنفذ الأمر (bash) للأذونات الضرورية (chmod) ومالك الملفات (chown). خلاف ذلك ، يمكنك تشغيل برنامج نصي كل دقيقة يتم تشغيلها.