أود اليوم أن أتحدث عن حقوق الوصول إلى الملفات والمجلدات (اقرأ). جاء هذا المفهوم إلى عالم إدارة المواقع من الأنظمة المشابهة لنظام التشغيل Linux (Unix) والتي تعمل عليها معظم خدمات الاستضافة.
والاسم Chmod نفسه هو اسم برنامج في Linux يسمح لك بتعيين حقوق الوصول إلى كائنات مختلفة. وبما أن موقعك مثبت على خادم تحت السيطرة على لينكس(Unix) بشكل أو بآخر، فإن العمل مع كائنات موقع الويب الخاص بك سيخضع للقواعد التي وضعتها التشغيلية أنظمة لينكس(يونكس).
في نظام التشغيل Windows، يتم تعيين جميع الملفات تقريبًا على الحد الأقصى من الأذونات، الأمر الذي يؤدي في الواقع إلى الهيمنة على أجهزة الكمبيوتر لدينا، كما يمنع بدوره أصحاب شركات مكافحة الفيروسات من الموت جوعًا. في أنظمة Linux (Unix)، يختلف الوضع - كل شيء أكثر تعقيدًا، ولكنه في نفس الوقت أكثر أمانًا. إذا قمت بتكوين كل شيء بشكل صحيح وكفؤ، فيمكنك زيادة أمان موقع الويب الخاص بك بشكل كبير.
إذا تركت كل شيء للصدفة ولم تهتم بتعيين الامتيازات اللازمة، فستكون احتمالية اختراق موردك أو إصابته بتعليمات برمجية ضارة عالية جدًا. من الجيد أن تقوم بتنفيذ جميع بياناتك، ولكن ماذا لو لم يكن كذلك؟!
لذلك، من الأفضل أن تقوم على الفور، دون تأخير، بتكوين وتغيير Chmod لجميع الكائنات المهمة في محركك، بناءً على مبدأ التبسيط. أولئك. منح الكائنات الحد الأدنى من الحقوق اللازمة للتشغيل الصحيح للموقع.
دعونا أولاً نفهم جوهر المشكلة من أجل فهم ما نقوم بإعداده بالضبط وكيف. لذلك دعونا نبدأ. يتم فصل حقوق الوصول للملفات والدلائل. يتم تعيينها بنفس الطريقة، ولكنها تعني أشياء مختلفة قليلاً.
بدوره، فيما يتعلق بالملفات فمن الممكن:
دعونا نلقي نظرة فاحصة على قدرات تنفيذ الملف. الحقيقة هي أنه في Linux يمكن تنفيذ أي ملف. ولا يتم تحديد ما إذا كانت تنفيذية من خلال امتدادها (فمفهوم الامتداد غائب في نظام الملفات Unix)، وعن طريق حقوق الوصول Chmod. إذا كان الملف يحتوي على حق التنفيذ "X"، فهذا يعني أنه يمكن تنفيذه.
فيما يتعلق بالدلائل فمن الممكن:
في أنظمة Linux، يتم توزيع كل هذا بواسطة المسؤول الرئيسي للكمبيوتر، والذي يمكنه الوصول إليه عن طريق إدخال كلمة مرور. وإذا كانت معظم الكائنات لها حقوق للقراءة فقط، فلن يكون للفيروسات أي شيء عمليًا لتفعله على مثل هذا الكمبيوتر، لأنه لن يكونوا قادرين على الكتابة هناك ولن يتحققوا بعد ذلك. هذه هي بالضبط النتيجة التي نحتاج إلى تحقيقها من خلال تعيين Chmod الضروري على كائنات موقعنا.
يتم تقسيم الامتيازات نفسها إلى ثلاث فئات اعتمادًا على من يمكنه الوصول إلى الكائن:
يحدد الخادم مجموعة المستخدمين التي سيتم تعيينك إليها عند الاتصال بالخادم. عندما تتصل، على سبيل المثال، بخادم عبر FTP، فإنك تقوم بتسجيل الدخول باستخدام اسم المستخدم (وكلمة المرور)، ثم يقوم الخادم بعد ذلك بتعيينك إلى مجموعة "المستخدم" ("u)".
سيتم تعيين المستخدمين الآخرين الذين يتصلون أيضًا عبر FTP بالخادم إلى المجموعة "group" ("g")، وسيتم تعيين الزائر الذي يأتي إلى موقع الويب الخاص بك باستخدام متصفحهم إلى المجموعة "world" ("o") .
الاختلافات في ثلاث قيم محتملة "r" و"w" و"x" لثلاث فئات "u" و"g" و"o" و تعريف Chmod للملفات. إذا لم يتم تحديد فئة، فسيتم استبدالها بواصلة "-". يتم تحديد الامتيازات بالتسلسل بالترتيب المحدد:
بعد أن يقوم الخادم بتعيين زائر لمجموعة معينة، فإنه يمنحه حقوق التصرف على الكائنات، وبعد ذلك سيتمكن الزائر من قراءة الملف أو كتابته أو تنفيذه (اعتمادًا على ما يُسمح لمجموعته بفعله بهذا الكائن).
لعرض محتويات الدليل، يجب أن يحتوي على سمة القراءة "r" (للمجموعة التي قام الخادم بتعيين الزائر لها). لإنشاء ملف أو مجلد في مجلد موجود، يجب أن يحتوي هذا الدليل الموجود على سمة للإدخال "w".
من أجل الوضوح، دعونا نلقي نظرة على مثال حيث يتمتع مالك الملف ("المستخدم" - "u") بجميع الحقوق: القراءة والكتابة والتنفيذ، بينما يتمتع جميع المستخدمين الآخرين بامتياز القراءة فقط. سيبدو الإدخال الخاص بـ Chmod هكذا: "rwx r-- r--".
دعونا نلقي نظرة عليها بالتفصيل: "rwx" (يحدد هذا السجل حقوق المالك للكائن - "u")، "r--" (يحدد هذا السجل حقوق نفس الكائن، ولكن إذا تم تعيين الزائر إلى مجموعة بواسطة الخادم - " g")، "r--" (يقوم هذا الإدخال بتعيين الامتيازات على الكائن لجميع المستخدمين الآخرين - "o").
اتضح أن هناك ثلاث مجموعات مستخدمين وثلاثة إجراءات محتملة مع الكائنات. الخلط حتى الآن؟ دعونا نضع كل ما ذكر أعلاه على الرفوف على شكل أقراص. أولاً، دعونا نلقي نظرة على مدى اختلافهم:
وأيضًا علامة توضح مجموعات Chmod المختلفة لـ أنواع مختلفةأشياء:
لا شيء يمكن القيام به | تم رفض الوصول إلى الدليل وأدلته الفرعية |
|
يمكن رؤية وتغيير المحتوى | يمكنك إضافة أو حذف أو تغيير ملف الدليل |
|
قم بالتنفيذ إذا كان الملف ثنائيًا | يمكن للمستخدم القيام به ملف ثنائيالذي يعلم بوجوده أو الدخول أو قراءة الكتالوج محظور |
يمكنك أن ترى أننا نستخدم هنا إدخالات تستخدم الحروف اللاتينية والواصلات لوصف حقوق الوصول، ولكن ربما تكون قد واجهت بالفعل حقيقة أن عادةً ما يتم تحديد Chmod رقميًا، على سبيل المثال المجموعة المعروفة: 777، والتي تسمح بكل شيء للجميع.
في الواقع، يتم الإشارة إلى الامتيازات أيضًا بالأرقام:
دعنا نعود إلى مثال التسجيل الذي قدمته سابقًا: rwx r-- r-- . إذا استبدلنا الحروف والواصلات بأرقام فيها، وفقًا للقاعدة الموضحة للتو، وفي نفس الوقت أضفنا الأرقام في كل ثلاثية، فسنحصل على النموذج الرقمي لهذا الإدخال: 744.
أولئك. اتضح أن مجموع هذه الأرقام يُظهر Chmod فيما يتعلق بالملفات أو المجلد. على سبيل المثال:
يوضح هذا الجدول جميع المجموعات الممكنة للامتيازات المسجلة رقميًا:
الآن دعونا نلقي نظرة على مجموعات مختلفة من الرموز في الأرقام فيما يتعلق بمجموعات المستخدمين:
"مالك" | "مجموعة" | "استراحة" |
|
يؤدي |
|||
يؤدي | يؤدي |
||
أنت بنفسك (باستثناء الحالة التي تصل فيها إلى الموقع عبر FTP) وجميع الزوار الآخرين لموردك تنتمي إلى مجموعة "الكلمة" (أي شخص آخر)، لذلك للعمل مع موقع الويب، نحتاج أولاً إلى إلقاء نظرة على المجموعة الأخيرة (الثالثة) ) رقم هذا الإدخال.
من أجل "تشغيل" ملف البرنامج النصي عندما يعمل المستخدم مع موقع ما، سيكون كافيًا تعيين الحقوق له، بدءًا من "4" (r-- - للقراءة فقط) (5،6، 7 سيفي بالغرض أيضًا، لكن هذا سيكون زائدًا عن الحاجة من حيث الأمان).
بالنسبة للدليل الذي يوجد به ملف هذا البرنامج النصي، تحتاج إلى تعيين الحد الأدنى على "5" (r-x - يمكنك الذهاب إلى الدليل وقراءة محتوياته، ولا يمكنك حذفه أو إضافته). 7 سيعمل أيضًا، ولكنه سيكون أيضًا زائدًا عن الحاجة من حيث الأمان.
إذا كنت بحاجة إلى البرنامج النصي ليس فقط للقراءة، ولكن أيضًا "لكتابة" بعض البيانات (على سبيل المثال، التي أدخلها الزائر)، إذن الحد الأدنى من الحقوقسيظل هناك "5" لـ "المجلد"، ولكن بالنسبة لـ "الملف" ستحتاج بالفعل إلى "6" (للقراءة والكتابة).
على الأرجح، على الخادم الذي قمت بنسخ محتويات محرك موقع الويب الخاص بك، سيتم تثبيت Chmods التالية على الكائنات:
إذا كان لديك مورد يتكون من فقط صفحات HTML، ثم يمكننا أن نترك كل شيء من هذا القبيل. لكن المواقع الحديثة مبنية على المحركات، وقد تكون هناك كائنات تحتاج إلى الكتابة إليها نيابة عن الزوار من مجموعة "العالم" - o (كل الآخرين). يمكن أن تكون هذه أدلة تستخدم للتخزين المؤقت للصفحات أو تلك التي سيتم تحميل الصور وما إلى ذلك إليها أثناء العمل مع الموقع.
وغني عن القول أنه إذا قمت بالوصول إلى الموقع عبر FTP، فيمكنك الكتابة إلى هذه الملفات أو الأدلة، ولكن العمل مع واجهة الويب مستخدم عاديقد يكون لديك مشاكل. لذلك، يجب التعامل مع إنشاء بعض الحقوق بشكل انتقائي:
لجميع الأدلة التي يجب كتابة الملفات فيها، ولكن لا يلزم مسحها بانتظام
للمجلدات التي يجب كتابة الملفات ومسحها (على سبيل المثال، لذاكرة التخزين المؤقت)
ل ملفات بسيطةللقراءة فقط (.html، .php، وما إلى ذلك)
للملفات التي قد يلزم الكتابة إليها (على سبيل المثال، باستخدام قواعد بيانات .dat)
كيف يمكن تنفيذ كل هذا عمليًا لموقعك على الويب؟ من حيث المبدأ، كل شيء بسيط. لتعيين حقوق الوصول، يمكنك:
ولكن إذا لم تتمكن من تغيير Chmod إلى أي ملفات، فيمكنك محاولة تعيينها باستخدام أدوات PHP. يمكنك استخدام الكود التالي:
chmod ("file_name_1.php", 0666); chmod ("file_name_2.php", 0666); chmod ("directory_name_1", 0777); chmod ("directory_name_2", 0777); ?>
ستحتاج إلى استبدال file_name_x.php و Directory_name_x بالأسماء الفعلية للملفات والمجلدات التي تريد تغيير الوضع لها. وفقًا لذلك، سيتم تعيينه للملفات على 666، وللأدلة - 777. ضع رمز PHP هذا في ملف باستخدام أي مفكرة نصية (أوصي بها) وامنحه الامتداد .php، حسنًا، على سبيل المثال، مثل prava.php.
انسخ prava.php عبر FTP إلى الدليل الذي لا يمكن فيه تعيين حقوق الوصول باستخدام الوسائل القياسية. في شريط العناوينالمتصفح، اكتب المسار إلى prava..php) ثم اضغط على "ابدأ" أو أدخل على لوحة المفاتيح. هذا كل شيء، الآن سيتم تغيير الامتيازات بالكامل باستخدام PHP.
بالنسبة لـ Joomla، مباشرة بعد تثبيته، يمكنك ضبط 777 على الأدلة التالية:
المسؤول/النسخ الاحتياطية/المسؤول/ذاكرة التخزين المؤقت/المسؤول/المكونات/المسؤول/الوحدات/المسؤول/القوالب/ذاكرة التخزين المؤقت/المكونات/صور/صور/لافتات/صور/قصص/لغة/لغة/en-GB/لغة/ru-RU/وسائط/ الوحدات / الإضافات / الإضافات / المحتوى / الإضافات / البحث / الإضافات / النظام / القوالب /
بعد تثبيت جميع ملحقات Joomla وإجراء الإعدادات النهائية، يتبع Chmod معظم الدلائل المذكورة أعلاه من أجل زيادة أمان الموقع العودة إلى 755. سوف تحتاج إلى ترك 777 للأدلة التي تحتوي على ذاكرة التخزين المؤقت والنسخ الاحتياطي والصور.
بالنسبة لملفات المحرك الموجودة في جذر الموقع، باستثناء sitemap.xml، فمن الأفضل تعيين 444 (للقراءة فقط لجميع مجموعات الزوار). في setup.php يوصى أحيانًا بضبطه على 400.
يمكنني تقديم نفس النصيحة تمامًا فيما يتعلق بتعيين حقوق الوصول إلى الكائنات في محركات SMF وWordPress. ومن المستحسن، إن أمكن، تركها بشكل دائم. للدلائل 755(باستثناء ذاكرة التخزين المؤقت والصور وأدلة النسخ الاحتياطي المذكورة أعلاه، وربما البعض الآخر، حسب الحاجة)، و للملفات - 644.
من الأفضل ضبط 444 على الملفات الموجودة في جذر الموقع.
إذا ظهرت مشكلة عند العمل مع موقع ما مع عدم القدرة على كتابة الإعدادات على بعض الملفات أو عدم القدرة على إنشاء نوع من الدليل، فيمكنك تعيين حقوق أكبر لهم مؤقتًا (777، على سبيل المثال)، ثم إرجاع كل شيء العودة (لتكون آمنة). وتحت أي ظرف من الظروف لا ينبغي أن تترك(لسهولة العمل مع الموقع) تضخم Chmod بشكل غير معقول.
حظا سعيدا لك! نراكم قريبا على صفحات موقع المدونة
قد تكون مهتما
ترميز النص ASCII (Windows 1251، CP866، KOI8-R) وUnicode (UTF 8، 16، 32) - كيفية حل مشكلة المفرقعات
OpenServer - حديث الخادم المحليومثال على استخدامه ل تركيبات ووردبريسإلى الكمبيوتر
ما هي عناوين URL، وكيف تختلف الروابط المطلقة والنسبية لموقع ما؟
بحث ياندكس حسب الموقع والمتجر عبر الإنترنت
خريطة الموقع خريطة الموقع بتنسيق xml لـ Yandex وGoogle - كيفية إنشاء خريطة موقع في Joomla وWordPress أو في مولد عبر الإنترنت
لأولئك الذين يبحثون طريقة سريعةاستخدم بضعة أوامر لتغيير حقوق الوصول إلى الملفات والمجلدات بشكل كبير:
Cd /var/www/site find ./ -type f -exec chmod 0644 () \; Find ./ -type d -exec chmod 0755 () \;
هذه أداة مساعدة من UNIX يمكنك من خلالها تغيير حقوق الوصول بسرعة لمالكين ومجموعات محددة عبر وحدة التحكم. الفئات المحددةوالملفات.
في أنظمة UNIX - FreeBSD، Ubuntu، Debian، Centos - كل ملف ومجلد (دليل) له ما ينتمي إليه. تم القيام بذلك للتمييز بين حقوق الوصول للقراءة (r، القراءة)، والكتابة (w، write) والتنفيذ (x، تنفيذ) لمستخدمين مختلفين: المالكين (u)، والمستخدمين المدرجين في مجموعة المالك (g) وغيرهم (o) ).
على سبيل المثال، إذا كنت تستخدم الاستضافة، فيجب أن تعلم أن موقعك موجود فعليًا على خادم واحد بجوار العديد من المواقع الأخرى لمستخدمين مثلك ولديهم مواقعهم الخاصة. بحيث لا يمكنك التدخل مع بعضها البعض، كل دليل به مواقع له مالكه الخاص ومجموعة المستخدمين التي ينتمون إليها.
في الاستضافة المشتركة، سيعتني بك الأشخاص المحترفون مسؤولي النظام. وإذا كان لديك خادم VDS/VPS خاص بك، فيجب عليك ببساطة مراقبة حقوق الوصول إلى الملفات المسجلة. على سبيل المثال، إذا فجأة، باستخدام ثغرة أمنية على موقع ويب، يستطيع المهاجم كتابة باب خلفي إلى الدليل لتنزيل الملفات، ثم باستخدام حقوق الوصول المحددة بشكل صحيح، لن يتمكن من إلحاق ضرر كبير بنظام الملفات. بالطبع، يجب تعطيل تنفيذ البرنامج النصي بالقوة في دليل تنزيل الملفات، ولكن هذا موضوع لمحادثة أخرى.
يمكن أن يحتوي الجزء [قواعد الوصول] على قيم رقمية أو رمزية.
[ملف/ملفات/دليل الملف] — المسار إلى ملف أو ملفات أو دليل ملف، مطلق أو نسبي.
كما تعلمون، يتم تحديد حقوق الوصول من خلال كيفية تفاعل المستخدم مع الملفات والأدلة، وهي r - القراءة (القراءة)، w - الكتابة (الكتابة)، x - التنفيذ (التنفيذ).
كما تعلم أيضًا أنه يجب تحديد هذه الحقوق لثلاث مجموعات من المستخدمين:
الآن دعونا نلقي نظرة على جدول تعريف الحقوق:
أي من أجل كتابة القاعدة امنح المالك حق الوصول للقراءة والكتابة، وامنح الباقي حق الوصول للقراءة فقط ، يجب أن نعطي الحقوق (rw-r--r--)
انظر الآن إلى عمود الحرف والأكتال. إنه يوضح بصريًا أن ما يبدو رمزيًا كـ (rw-r--r--) يشبه (644) في الشكل الثماني. سوف نستخدم هذا التعبير كمدخل رقمي في الأمر.
الآن كل ما تبقى هو تجميع كل شيء معًا في إدخال واحد. على سبيل المثال، لنغير حقوق الوصول إلى "منح الجميع حقوق القراءة، والمالك لديه الحق في تغيير المحتوى" لملف Index.php:
شمود -v 644 فهرس.php
حيث Index.php هو الملف أو الدليل المطلوب التحقق منه.
قواعد الوصول الافتراضية للأدلة هي 755، للملفات 644. ولذلك، في الغالبية العظمى من الحالات، سوف تحتاج فقط إلى هذه الحقوق.
في توثيقنا ل umaskيأمر. ويحتوي على وصف شامل لكيفية تعريف وتحديد أذونات الملف.
على العموم، chmodالأوامر تأخذ الشكل:
شمود خيارات الأذونات اسم الملف
إذا لا خياراتتم تحديدها، chmodيعدل أذونات الملف المحدد بواسطة اسم الملفإلى الأذونات المحددة بواسطة الأذونات.
الأذوناتيحدد الأذونات لمالك الملف ("المستخدم")، وأعضاء المجموعة التي تمتلك الملف ("المجموعة")، وأي شخص آخر ("الآخرون"). هناك طريقتان لتمثيل هذه الأذونات: بالرموز (الأحرف الأبجدية الرقمية)، أو بالأرقام الثمانية (الأرقام 0 خلال 7 ).
لنفترض أنك مالك الملف المسمى myfile، وتريد تعيين أذوناته بحيث:
هذا الأمر سوف يقوم بالخدعة:
Chmod u=rwx,g=rx,o=r myfile
يستخدم هذا المثال تدوين الأذونات الرمزية. الحروف ش, ز، و سالوقوف ل " مستخدم", "مجموعة"، و " آخر". علامة التساوي ("" = ") تعني "تعيين الأذونات تمامًا مثل هذا،" والحروف " ص", "ث"، و " س" تعني "قراءة" و"كتابة" و"تنفيذ" على التوالي. وتفصل الفواصل بين فئات الأذونات المختلفة، ولا توجد مسافات بينها.
إليك الأمر المكافئ باستخدام تدوين الأذونات الثماني:
شمود 754 ملفي
هنا الأرقام 7 , 5 ، و 4 يمثل كل منها على حدة الأذونات الخاصة بالمستخدم والمجموعة والآخرين بهذا الترتيب. كل رقم هو مزيج من الأرقام 4 , 2 , 1 ، و 0 :
لذا 7 هو مزيج من الأذونات 4 +2 +1 (القراءة والكتابة والتنفيذ) 5 يكون 4 +0 +1 (قراءة، لا كتابة، وتنفيذ)، و 4 يكون 4 +0 +0 (قراءة ولا كتابة ولا تنفيذ).
-ج, -- التغييرات |
يحب --مطول، ولكنه يعطي مخرجات مطولة فقط عند إجراء التغيير فعليًا. |
-و, --صامت, --هادئ |
الوضع الهادئ قمع معظم رسائل الخطأ. |
-v, --مطول |
الوضع المطول؛ إخراج رسالة تشخيصية لكل ملف تتم معالجته. |
--لا يوجد جذر للحفظ |
|
عرض رسالة المساعدة والخروج. |
|
صاحب الملف. |
|
Hopestaff |
المجموعة التي ينتمي إليها الملف. |
03 فبراير 15:36 |
mtime للملف (تاريخ ووقت آخر تعديل للملف). |
ملف.txt |
اسم الملف. |
قم بتعيين أذونات ملف.htmإلى "المالك يمكنه القراءة والكتابة؛ المجموعة يمكنها القراءة فقط؛ الآخرون يمكنهم القراءة فقط".
شمود -R 755 ملفاتي
بشكل متكرر ( -ر) تغيير أذونات الدليل myfiles، وجميع المجلدات والملفات التي يحتوي عليها، إلى الوضع 755 : يمكن للمستخدم القراءة والكتابة والتنفيذ. يمكن لأعضاء المجموعة والمستخدمين الآخرين القراءة والتنفيذ، ولكن لا يمكنهم الكتابة.
Chmod u=rw example.jpg
تغيير الأذونات لمالك example.jpgحتى يتمكن المالك من قراءة الملف وكتابته. لا تقم بتغيير الأذونات للمجموعة أو للآخرين.
Chmod u+s comphope.txt
قم بتعيين بت "Set-User-ID" لـ comphope.txt، بحيث يقوم أي شخص يحاول الوصول إلى هذا الملف بذلك كما لو كان مالك الملف.
شمود u-s comphope.txt
عكس الأمر أعلاه؛ إلغاء تعيين بت SUID.
شمود 755 file.cgi
قم بتعيين أذونات file.cgiإلى "القراءة والكتابة والتنفيذ من قبل المالك" و"القراءة والتنفيذ من قبل المجموعة والجميع".
شمود 666 ملف.txt
تعيين إذن ملف.txtإلى "القراءة والكتابة من قبل الجميع".
Chmod a=rw file.txt
ينفذ نفس الأمر المذكور أعلاه، باستخدام التدوين الرمزي.
chown- تغيير ملكية الملفات أو الدلائل.
com.getfacl- عرض قوائم التحكم في الوصول إلى الملفات.
ليرة سورية- قائمة محتويات الدليل أو الدلائل.
نواصل إخبارك بالتفصيل عن المستخدمين والمجموعات في Linux واليوم سنتحدث عن كيفية الاستخدام أوامر تشاونو شمود.
تشاون - من اللغة الإنجليزية تغيير الخاصة. وهكذا، كما تعلم، لدى Linux مستخدمون ومجموعات. كل مستخدم لديه ملفاته الخاصة التي تم إنشاؤها أو تحميلها. كل مستخدم موجود في مجموعته الخاصة ويمكن دمجه مع مستخدمين آخرين في مجموعات أخرى.
لمعرفة مالك الملف والمجموعة التي ينتمي إليها، استخدم الأمر:
إذا كنت تريد تغيير أو تغيير مالك (مستخدم) الملف، فسيساعدك الأمر:
سودو chown اسم المستخدم text.txt
في في هذا المثالقمنا بتعيين ملف text.txt إلى اسم المستخدم.
إذا كنت تريد تغيير المجموعة فقط، فيمكنك استخدام الأمر chgrp:
Sudo chgrp اسم المجموعة text.txt
لكي لا تدخل أمرين مختلفين، قم بما يلي:
Sudo chown userName:groupName text.txt
تتم الإشارة إلى مالك الملف أولاً، ثم المجموعة:
سودو تشاونOwner_name : اسم المجموعة text.txtإذا كنت بحاجة إلى تغيير المالك والمجموعة في الدليل، وهناك العديد من الملفات والمجلدات هناك، فاستخدم المفتاح -R:
سودو تشاون -راسم المستخدم:اسم المجموعة /var/www/site/
ولذا فإننا نعلم أن هناك مستخدمين ومجموعات. الآن دعونا نتحدث عن حقوق الوصول. لماذا هذا ضروري؟ على سبيل المثال، لديك دليل يحتوي على الملفات الشخصية. حتى تتمكن مالك على سبيل المثال، يمكنهم تحرير الملفات وعرضها مجموعة ، راجع فقط البيانات والملفات و استراحة لا يمكن للمستخدمين الذين ليسوا أعضاء في أي من المجموعات وليسوا مالكين فعل أي شيء على الإطلاق، ولهذا السبب هناك حاجة إلى حقوق الوصول.
يمكن الإشارة إلى أذونات الملف بالأرقام والحروف:
وتتلخص قيم الحقوق بالأرقام في:
لكل ملف ودليل، يتم تعيين الحقوق بشكل منفصل للمالك والمجموعة والمستخدمين الآخرين.
مالك | مجموعة | استراحة | ||
ش | ز | س | ||
خطابات الأذونات | أرقام حقوق الوصول | |||
com.rwxrwxrwx | 777 | اقرأ، اكتب، افعل كل شيء | ||
rwxr-xr-x | 755 | يقرأ، يكتب، ينفذ | قراءة وتشغيل | |
ص-ص-ص- | 644 | القراءة والكتابة | يسوي فقط | |
ص ——— | 400 | ولا يقرأه إلا صاحبه | — | — |
يمكنك تغيير حقوق الوصول إلى ملف أو دليل باستخدام الأمر chmod باستخدام أرقام أو أحرف.
لتغيير أذونات ملف أو دليل باستخدام الأمر chmod باستخدام الأرقام، أدخل الأمر:
سودو شمود 755 نص.txt
بالنسبة للأدلة، تحتاج إلى إضافة مفتاح -R بعد chmod.
فقط أدناه أمر مفيدكيفية تغيير الأذونات بشكل مجمّع في جميع المجلدات والمجلدات الفرعية.
للمجلدات:
يجد/ your_way -نوع d -exec chmod 755 ()\;
للملفات:
يجد/ your_way -نوع f -exec chmod 644 () \;
بالنسبة للمبتدئين، سيكون تغيير حقوق الوصول بالأحرف أكثر صعوبة بعض الشيء، لكن هذه المعرفة ستكون مفيدة.
وكما تعلم أن هناك مالكًا ومجموعة ومستخدمين آخرين، فقد تم تحديدهم على النحو التالي:
ش | مستخدم | مالك |
ز | مجموعة |
كل ملف أو مجلد في Linux له أذوناته الخاصة.
هناك ثلاثة أنواع من الحقوق:
قراءة (ص)، الكتابة (ث)، تنفيذ (خ)
يتم تعريف الحقوق لثلاثة أنواع من المستخدمين:
المالك (u)، المجموعة (ز)، جميع الآخرين (س)
لذا، فإن حقوق كل ملف هي 9 بتات من المعلومات (3 أنواع من الحقوق * 3 أنواع من المستخدمين)، على التوالي، يمكن تعيين كل بت (=1) السماح بالوصول، أو إعادة التعيين (=0) رفض الوصول.
عند تعيين الحقوق، من المعتاد استخدام نظام الأرقام الثماني.
تمثيل النص للحقوق (10 أحرف):
- روكسر- - ص - -
0123456789
الحرف في الموضع 0:
"-" - ملف عادي، "d" - مجلد، "l" - رابط
الرموز في الموضع 1-3:
"rwx" - حقوق المالك
الرموز في المواضع 4-6:
"ص - -" - حقوق المجموعة
الرموز في الموضع 7-9:
"ص - -" - حقوق لأي شخص آخر
جدول تحديد الحقوق:
وكما يتبين من الجدول، يتم حساب الحقوق بسهولة
جمع بسيط. 1=تنفيذ، 2=كتابة، 4=قراءة.
على سبيل المثال، التنفيذ (1) والقراءة (4) مطلوبان، نحصل على 1+4=5
مثال 644:
- المالك (ش) القراءة والكتابة
- المجموعة (ز) للقراءة فقط
- الآخرين(س) للقراءة فقط
مثال 755:
- مالك (أصحاب) جميع الحقوق
- المجموعة (ز) القراءة والتنفيذ
- أخرى (س) القراءة والتنفيذ
وفي لغات البرمجة مثل C،
يتم إضافة 0 إلى الحقوق في بداية كل رقم، مما يعني أن الرقم ثماني، أي. اكتب 0644 بدلاً من 644. عند تغيير الحقوق من سطر الأوامر، لا يكون هذا مطلوبًا عادةً.
تمثيل الحقوق بأربعة أرقام (4755)، الحقوق الإضافية
SUID، SGID، البتات اللاصقة:
أمثلة:
مجموعة SUID:
- r w s - - - - - - تعيين وحدات بت SUID وتنفيذها للمالك
- r - S - - - - - - تم تعيين بت SUID، ولم يتم تعيين بت التنفيذ
مجموعة SGID:
- r w x r w s - - - تعيين بتات SGID وتنفيذ المجموعة
- r w x r - S - - - مجموعة بتات SGID، غير مضبوطة. التنفيذ للمجموعة
مجموعة بت لزجة:
- rwxrwxrwt مجموعة البتات اللاصقة وتنفيذها للآخرين
- r w x r w x r - تم ضبط T، ولكن لم يتم ضبطه. أداء للآخرين
الاختلافات في تأثير الحقوق عند التثبيت على الملفات والمجلدات:
حقوق | ملفات | المجلدات |
---|---|---|
قراءة | محتوى القراءة | الحصول على قائمة الملفات |
سِجِلّ | تسجيل المحتوى | تغيير قائمة الملفات (إنشاء، حذف، إعادة تسمية) |
تنفيذ | يمكن تنفيذ الملف | يمكن للمستخدم أو العملية جعل المجلد "حاليًا/عاملاً" |
سويد | اضبط "معرف المستخدم" عند التنفيذ | تجاوز معرف المستخدم عند إنشاء ملف/مجلد (استخدم معرف مالك المجلد الجذر) |
SGID | اضبط "معرف المجموعة" عند التنفيذ | تجاوز معرف المجموعة عند إنشاء ملف/مجلد (استخدم معرف المجموعة للمجلد الجذر) |
لزجة | منع الحذف من قبل الجميع باستثناء المالك |
يقوم "-R" بتطبيق الأذونات بشكل متكرر على كافة الملفات والمجلدات الفرعية
أمثلة:
مجلد شمود-R 755/
ملف شمود 644
إلخ.
من الممكن تغيير الحقوق ليس بالكامل، ولكن فقط لإضافة أو إلغاء الحقوق لمجموعات معينة من المستخدمين فقط
باستخدام الرموز بدلا من الأرقام الثمانية.
"u" - المستخدم/المالك
"ز" - مجموعة المستخدمين
"س" - مستخدمون آخرون
"أ" - كافة مجموعات المستخدمين
تنسيق الإذن [[+-=]، ...
أمثلة:
chmod -R a+x مجلد/ يتم تنفيذه لجميع المجموعات بشكل متكرر
قراءة ملف chmod a+rx وتنفيذه للجميع
إضافة ملف chmod u+rx,g-rx للقراءة والتنفيذ للمالك، و
إلغاء الأذونات لمجموعة
chmod a+r,o= file إضافة قراءة لجميع أنواع المجموعات وإبطالها
جميع الحقوق لجميع المستخدمين الآخرين
أمر تغيير مالك chown:
Chown [-R] المالك: ملف/مجلد المجموعة
أمثلة:
chown -R 0:0 مجلد/مجموعة المالك/المجموعة = الجذر بشكل متكرر
chown myuser: ملف mygroup قم بتعيين myuser/mygroup للملف