فهم أذونات لينكس واستخدام chmod


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

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

أذونات Linux & amp؛ مستويات

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

هناك ثلاثة مستويات للأذونات في Linux: المالك والمجموعة وغيرها. المالك هو المستخدم الذي يمتلك الملف / المجلد ، وتتضمن المجموعة المستخدمين الآخرين في مجموعة الملفات والأخرى تمثل فقط جميع المستخدمين الآخرين الذين ليسوا المالكين أو في المجموعة.

القراءة والكتابة والتنفيذ يتم تمثيلها كحرف رمزية أو كأرقام ثماني. على سبيل المثال ، إذا قمت بإجراء ls -l في دليل يحتوي على بعض الملفات ، فسترى تمثيل الحرف الرمزي للأذونات.

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

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

إذا نظرت إلى الإخراج من الأمر ls -l ، فستلاحظ أن ملفي التمهيدي يمتلك الأذونات التالية:

-rw-rw-rw-

هذا يعني أن كل شخص لديه أذونات قراءة / كتابة فقط للملف. إليك مثال آخر:

drwxr--r--

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

تمثيل العدد الثماني

وهكذا يتم عرض الأذونات في لينكس باستخدام الرموز. والطريقة الثانية لتمثيل نفس الأذونات هي باستخدام الأرقام الثمانية. عندما نستخدم الأمر chmod في وقت لاحق ، سترى أنه يمكنك تغيير الأذونات باستخدام أي من الرموز أو الأرقام الثمانية.

فكيف يمثّل نظام Linux القراءة والكتابة والتنفيذ باستخدام الأرقام الثمانية؟ في الأساس ، يتم تعيين رقم لكل إذن كما هو موضح أدناه.

يتم تمثيل إذن القراءة من خلال 4 ، اكتب بـ 2 وينفذ بواسطة 1. كل ما عليك فعله هو إضافتها للحصول على الإذن الثماني. على سبيل المثال ، لنأخذ المثال أعلاه حيث يتمتع كل الأشخاص بجميع الأذونات:

-rwxrwxrwx

يمتلك المالك rwx ، لذا سنضيف 4 + 2 + 1 للحصول على قيمة 7. نفعل نفس الشيء مع المجموعة ونفس الشيء للآخرين. القيمة الثمانية الأخيرة هي 777. لنلق نظرة على المثال الذي أعطينا فيه أذونات القراءة / الكتابة فقط:

-rw-rw-rw-

سيكون الرقم الثماني الأول 4 + 2 لأننا مضيفا القراءة والكتابة. سوف يكون الثاني هو نفسه مثل العدد الثالث. هنا لدينا قيمة ثمائية أخيرة تبلغ 666.

والآن دعنا نجربها بطريقة أخرى. لنفترض أننا نريد معرفة الأذونات التي يمثلها 755؟ حسنًا ، من السهل جدًا معرفة ما إذا كان يتم تقسيمها حسب الأرقام الفردية. الرقم الأول هو 7 ، والذي يمكننا الحصول عليه فقط بإضافة 4 + 2 + 1 ، وهذا يعني أن المالك لديه إذن القراءة / الكتابة / التنفيذ. يمكن الحصول على خمسة فقط بإضافة 4 + 1 ، وهذا يعني أن المجموعة والمستخدمين الآخرين قد قاموا بقراءة وتنفيذ الأذونات.

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

استخدام chmod لتعديل الأذونات

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

لنبدأ بالأذونات التي تحدثنا عنها أعلاه ، وهي:

-rw-rw-rw-

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

الأمر بالضبط هو

chmod a+x filename

يكون بناء الجملة كما يلي: الحرف أو الأحرف التي تمثل المالك (u) والمجموعة (g) والأخرى (o) أو كلها (أ) متبوعًا بـ +لإضافة أذونات أو -لأخذ الأذونات ثم الحرف الخاص بالإذن (rللقراءة ، wللكتابة و xللتنفيذ).

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

كما ترون هنا ، لقد استخدمت إلى الأمر التالي لإنجاز هذا:

chmod go-wx filename

بما أنني أريد تغيير أذونات المجموعة وغيرها ، فأنا أستخدم الحرف gوالحرف على س. أريد إزالة الأذونات ، لذلك أستخدم علامة -. وأخيرًا ، أريد إزالة أذونات الكتابة وتنفيذها ، لذلك أستخدم wو x. في ما يلي جدول صغير مفيد لاستخدام الرمز:

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

إذا بدأنا بالأذونات التالية في ملف ، دعنا نرى كيف يمكننا تغييرها باستخدام الطريقة الثمانية:

-rw-rw-rw-

أعلاه ، يمكنك رؤية استخدام الأمر التالي:

chmod 744 filename

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

الآن استخدمت الأمر التالي ، مرة أخرى بسيطة للغاية:

chmod 640 filename

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

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

07 - دورة تعلم نظام اللينكس Linux للمبتدئين - تغير صلاحية الملفات

المنشورات ذات الصلة:


16.02.2017