مقدمة إلى أذونات لينكس (Linux Permissions)
يعد نظام التشغيل لينكس من أكثر الأنظمة المتقدمة في العالم من حيث الأمان والمرونة، وهو يُستخدم على نطاق واسع في الخوادم، والأجهزة المحمولة، وأجهزة الكمبيوتر المكتبية. أحد المفاهيم الأساسية التي تساهم في أمان هذا النظام هو مفهوم “الأذونات” أو “Permissions”، الذي يحدد من يمكنه الوصول إلى الملفات أو المجلدات في النظام، وما هي العمليات التي يمكنه تنفيذها على هذه الملفات. في هذا المقال، سنستعرض تفاصيل الأذونات في لينكس، كيفية فهمها، وكيفية التعامل معها بشكل فعال.
أذونات الملفات في لينكس
تتمثل الأذونات في لينكس في مجموعة من القواعد التي تحدد كيفية الوصول إلى الملفات أو المجلدات داخل النظام. تتكون الأذونات في لينكس من ثلاثة أنواع رئيسية: أذونات القراءة (Read)، الكتابة (Write)، والتنفيذ (Execute). يمكن تعيين هذه الأذونات للمستخدمين على مستوى الملفات أو المجلدات في النظام.
-
أذونات القراءة (Read): تعطي المستخدم القدرة على قراءة محتوى الملف. بالنسبة للمجلدات، يسمح إذن القراءة للمستخدم بعرض محتويات المجلد.
-
أذونات الكتابة (Write): تعطي المستخدم القدرة على تعديل محتوى الملف أو إضافة أو حذف الملفات داخل المجلد.
-
أذونات التنفيذ (Execute): تعطي المستخدم القدرة على تنفيذ الملف إذا كان ملفًا قابلًا للتنفيذ، مثل البرامج أو السكربتات. بالنسبة للمجلدات، يسمح إذن التنفيذ بالدخول إلى المجلد والانتقال داخله باستخدام أوامر مثل
cd.
أنواع المستخدمين في نظام لينكس
يتميز نظام لينكس بوجود ثلاثة أنواع أساسية من المستخدمين الذين يمكنهم الحصول على أذونات للوصول إلى الملفات والمجلدات، وهذه الأنواع هي:
-
المستخدم المالك (Owner): هو الشخص الذي يملك الملف أو المجلد. عادةً ما يكون المستخدم الذي أنشأ الملف أو المجلد هو المالك. يملك المالك كل الصلاحيات على الملف، بما في ذلك القدرة على تعيين الأذونات للآخرين.
-
المجموعة (Group): هو مجموعة من المستخدمين الذين يشاركون في الوصول إلى الملفات أو المجلدات. يمكن أن يشتمل كل ملف أو مجلد على مجموعة من المستخدمين الذين يشاركونه، وتُعطى أذونات خاصة لكل مجموعة على حدة.
-
المستخدمون الآخرون (Others): هم جميع المستخدمين الذين ليسوا مالكين للملف ولا أعضاء في المجموعة الخاصة بالملف. يتم تخصيص أذونات لهذا النوع من المستخدمين بناءً على الأذونات التي يحددها المالك.
تمثيل الأذونات في لينكس
في لينكس، يتم تمثيل الأذونات باستخدام مجموعة من الحروف والأرقام. تمثل الحروف الثلاثة الأولى الأذونات التي يمتلكها المالك، بينما تمثل الحروف الثلاثة التالية الأذونات الممنوحة للمجموعة، وأخيرًا تمثل الحروف الثلاثة الأخيرة الأذونات الممنوحة للمستخدمين الآخرين.
على سبيل المثال، عند استخدام أمر ls -l لعرض الملفات في دليل معين، ستظهر الأذونات على الشكل التالي:
diff-rwxr-xr--
-
الحرف الأول (
-): يشير إلى نوع الملف (إذا كان-يعني أنه ملف عادي، وإذا كانdيعني أنه مجلد). -
الثلاثة أحرف التالية (
rwx): هي أذونات المالك. في هذه الحالة، المالك لديه إذن القراءة (r)، الكتابة (w)، والتنفيذ (x). -
الثلاثة أحرف التالية (
r-x): هي أذونات المجموعة. في هذه الحالة، أعضاء المجموعة لديهم إذن القراءة (r) والتنفيذ (x) فقط. -
الثلاثة أحرف الأخيرة (
r--): هي أذونات المستخدمين الآخرين. في هذه الحالة، يمكن للمستخدمين الآخرين فقط قراءة الملف (r).
تمثيل الأذونات باستخدام الأرقام
بدلاً من استخدام الحروف، يمكن أيضًا تمثيل الأذونات باستخدام الأرقام. يستخدم النظام رقمًا مكونًا من ثلاثة أرقام، حيث يمثل كل رقم مجموعة معينة من الأذونات كما يلي:
-
4: إذن القراءة (r) -
2: إذن الكتابة (w) -
1: إذن التنفيذ (x)
لتحديد الأذونات، يتم جمع هذه القيم معًا. على سبيل المثال، إذا كان المالك لديه إذن القراءة (4)، الكتابة (2)، والتنفيذ (1)، ستكون القيمة الإجمالية 7. إذا كانت المجموعة لديها إذن القراءة (4) والتنفيذ (1)، ستكون القيمة الإجمالية 5. بالنسبة للمستخدمين الآخرين، إذا كان لديهم فقط إذن القراءة (4)، ستكون القيمة الإجمالية 4. إذا كانت الأذونات rwxr-xr--، فإن القيمة الإجمالية ستكون 755.
أوامر لإدارة الأذونات
إدارة الأذونات في لينكس تتم عبر مجموعة من الأوامر التي تسمح للمستخدمين بتغيير الأذونات الخاصة بالملفات والمجلدات. من أشهر هذه الأوامر:
-
الأمر
chmod: يُستخدم لتغيير الأذونات. يمكن استخدام هذا الأمر مع الحروف أو الأرقام. على سبيل المثال:-
chmod 755 file.txt: يغير الأذونات ليصبح المالك لديه جميع الأذونات، بينما يمتلك الآخرون إذن القراءة والتنفيذ فقط. -
chmod u+x file.txt: يضيف إذن التنفيذ للمستخدم المالك للملف.
-
-
الأمر
chown: يُستخدم لتغيير مالك الملف أو المجلد. على سبيل المثال:-
chown user1 file.txt: يغير مالك الملف إلى المستخدمuser1.
-
-
الأمر
chgrp: يُستخدم لتغيير المجموعة المرتبطة بالملف. على سبيل المثال:-
chgrp group1 file.txt: يغير المجموعة المرتبطة بالملف إلىgroup1.
-
أهمية الأذونات في الأمان
الأذونات تلعب دورًا حيويًا في تأمين نظام لينكس من التهديدات الأمنية. من خلال تعيين الأذونات المناسبة، يمكن للمستخدمين منع الوصول غير المصرح به إلى الملفات الحساسة. على سبيل المثال، يمكن تعيين الأذونات بطريقة تمنع المستخدمين غير المصرح لهم من تعديل أو حذف ملفات النظام المهمة.
أفضل الممارسات لإدارة الأذونات في لينكس
للحفاظ على أمان النظام، يجب اتباع بعض الممارسات الجيدة عند إدارة الأذونات:
-
استخدم أقل الأذونات الضرورية: لا تعطي الأذونات كاملة للملفات أو المجلدات إلا إذا كانت هناك حاجة فعلية لذلك. تطبيق مبدأ “أقل الامتيازات” يساعد في تقليل المخاطر.
-
تخصيص الأذونات للمجموعات: بدلاً من إعطاء أذونات فردية للمستخدمين، يمكن تخصيص المجموعات للأذونات المشتركة، مما يسهل إدارة الوصول.
-
راجع الأذونات بانتظام: يجب مراجعة الأذونات بشكل دوري للتأكد من عدم وجود أذونات غير ضرورية أو غير صحيحة قد تؤدي إلى ثغرات أمنية.
-
استخدام أذونات قوية للملفات التنفيذية: تأكد من أن الملفات القابلة للتنفيذ لا تحتوي على أذونات كتابة أو تنفيذ غير ضرورية للمستخدمين الآخرين.
-
تجنب منح أذونات الجذر (root): يجب تجنب إعطاء أذونات الجذر إلا في الحالات القصوى، حيث يمتلك الجذر الوصول الكامل إلى كل شيء في النظام.
خاتمة
في الختام، تعتبر الأذونات جزءًا أساسيًا من أمان نظام لينكس. من خلال فهم كيفية تعيين الأذونات للمستخدمين والمجموعات، يمكن تعزيز أمان النظام بشكل كبير وضمان أن الملفات والمجلدات تبقى محمية من الوصول غير المصرح به. إن التفاعل مع هذه الأذونات بشكل دقيق وفعّال يمكن أن يساعد في ضمان بيئة عمل آمنة ومستقرة لجميع مستخدمي النظام.

