أنواع الصلاحيات على الملفات والفولدرات وكيفية إعطاء صلاحيات للمستخدم في لينكس
نظام التشغيل “لينكس” هو واحد من الأنظمة الأكثر شهرة واستخدامًا في العالم بسبب مرونته وأدائه المستقر في مختلف البيئات، سواء كانت بيئة خوادم أو أجهزة سطح مكتب. أحد المفاهيم الأساسية التي يجب فهمها عند العمل على لينكس هو مفهوم الصلاحيات أو الأذونات (Permissions) الخاصة بالملفات والفولدرات. يتعامل نظام لينكس مع كل ملف أو مجلد على أنه كائن قابل للتنفيذ أو القراءة أو الكتابة، ويتم تحديد من يمكنه الوصول إلى هذا الكائن وما يمكنه فعله به من خلال نظام أذونات متطور.
في هذا المقال، سنتناول أنواع الصلاحيات على الملفات والفولدرات في لينكس وكيفية إدارة هذه الصلاحيات بفعالية. سنتعرف على كيفية إعطاء صلاحيات للمستخدمين والمجموعات، بالإضافة إلى كيفية ضبط الأذونات بطريقة تضمن الأمان والاستفادة الكاملة من النظام.
1. مفهوم الصلاحيات في لينكس
في لينكس، يتم تحديد الصلاحيات للملفات والمجلدات باستخدام ثلاثة مستويات رئيسية: المستخدم (User)، المجموعة (Group)، والآخرون (Others). كل مستوى يمكنه أن يمتلك واحدة أو أكثر من الصلاحيات الأساسية التي تحدد ماذا يمكن للمستخدم أو المجموعة أو الآخرين فعله بالملف أو المجلد.
1.1 أنواع الصلاحيات
يتم تحديد الصلاحيات في لينكس باستخدام ثلاثة أنواع رئيسية هي:
-
قراءة (Read – r): يتيح للمستخدم أو المجموعة أو الآخرين قراءة محتويات الملف أو المجلد. في حالة المجلد، يعنى هذا القدرة على عرض قائمة الملفات داخل المجلد.
-
كتابة (Write – w): يتيح للمستخدم أو المجموعة أو الآخرين تعديل محتويات الملف أو المجلد. في حالة المجلد، يعنى هذا القدرة على إضافة أو حذف الملفات داخل المجلد.
-
تنفيذ (Execute – x): يتيح للمستخدم أو المجموعة أو الآخرين تنفيذ الملف إذا كان ملفًا تنفيذيًا (مثل برنامج أو سكربت). بالنسبة للمجلد، يسمح بتصفح المجلد.
1.2 النظام الرقمي للأذونات
في لينكس، يتم تمثيل الأذونات على الملفات والمجلدات باستخدام ثلاثة أرقام تعكس صلاحيات المستخدمين. كل رقم من هذه الأرقام يتراوح بين 0 و 7، حيث أن كل قيمة تمثل مجموعة من الأذونات. ويمثل كل رقم مجموع الصلاحيات التالية:
-
4 (قراءة)
-
2 (كتابة)
-
1 (تنفيذ)
على سبيل المثال:
-
7تعني4 (قراءة) + 2 (كتابة) + 1 (تنفيذ) = rwx -
6تعني4 (قراءة) + 2 (كتابة) = rw- -
5تعني4 (قراءة) + 1 (تنفيذ) = r-x -
4تعني4 (قراءة) = r--
يتم تحديد الأذونات لمستخدمي الملفات بثلاث مجموعات:
-
المستخدم (User): الصلاحيات المتعلقة بالمالك الفعلي للملف.
-
المجموعة (Group): الصلاحيات التي يتم منحها للمستخدمين الذين ينتمون إلى نفس المجموعة مثل المالك.
-
الآخرون (Others): الصلاحيات الممنوحة للمستخدمين الذين لا ينتمون إلى المالك أو المجموعة.
1.3 مثال على الأذونات
افترض أن هناك ملفًا يحمل الأذونات التالية:
-rwxr-xr-- 1 user group 1234 Jan 1 12:34 file.txt
-
المستخدم (User) لديه صلاحيات
rwx(قراءة، كتابة، وتنفيذ). -
المجموعة (Group) لديها صلاحيات
r-x(قراءة وتنفيذ). -
الآخرون (Others) لديهم صلاحية
r--(قراءة فقط).
2. إعطاء صلاحيات للمستخدم في لينكس
إدارة الأذونات في لينكس تتم باستخدام الأوامر المدمجة في النظام، وفيما يلي نوضح كيفية إعطاء وتعديل الصلاحيات باستخدام هذه الأوامر.
2.1 استخدام الأمر chmod
يعتبر الأمر chmod (تغيير الأذونات) هو الأداة الرئيسية التي يستخدمها مسؤولو النظام لضبط الأذونات في لينكس. يمكن استخدام الأمر chmod إما باستخدام النظام الرقمي أو باستخدام الرموز.
2.1.1 النظام الرقمي
يتم تمثيل الأذونات الرقمية بثلاث أرقام، وكل رقم يتوافق مع صلاحيات المستخدم، المجموعة، والآخرين على التوالي. على سبيل المثال، إذا كنت ترغب في إعطاء أذونات rwx للمستخدم، r-x للمجموعة، وr-- للآخرين، يمكنك استخدام الأمر التالي:
bashchmod 755 file.txt
-
الرقم
7يعنيrwxللمستخدم. -
الرقم
5يعنيr-xللمجموعة. -
الرقم
5يعنيr--للآخرين.
2.1.2 استخدام الرموز
يمكن أيضًا استخدام الرموز لتعديل الأذونات. على سبيل المثال:
-
لإضافة صلاحية القراءة للمجموعة:
bashchmod g+r file.txt
-
لإزالة صلاحية الكتابة للمستخدم:
bashchmod u-w file.txt
-
لتعيين صلاحيات تنفيذ للمجموعة:
bashchmod g+x file.txt
-
لتعيين صلاحيات
rwxللمستخدم والمجموعة والآخرين:
bashchmod a+rwx file.txt
2.2 استخدام الأمر chown
تسمح الأداة chown بتغيير مالك الملف أو المجلد أو تغييره في مجموعة معينة. الشكل العام للأمر هو:
bashchown [المالك]:[المجموعة] [اسم الملف]
مثال:
bashchown user:group file.txt
سيقوم هذا الأمر بتغيير مالك الملف file.txt إلى user والمجموعة إلى group.
2.3 استخدام الأمر chgrp
يتم استخدام الأمر chgrp لتغيير المجموعة المرتبطة بالملف أو المجلد. على سبيل المثال:
bashchgrp group_name file.txt
هذا سيغير مجموعة الملف إلى group_name.
3. الصلاحيات الخاصة بالمجلدات
الصلاحيات على المجلدات تختلف قليلاً عن تلك الخاصة بالملفات. إضافة إلى الأذونات الأساسية مثل rwx، هناك بعض المزايا التي يجب أن تعرفها:
3.1 الصلاحية x للمجلدات
عندما تمنح صلاحية التنفيذ (x) لمجلد، فإن ذلك يسمح للمستخدم أو المجموعة أو الآخرين بالدخول إلى المجلد باستخدام الأمر cd أو تصفح محتويات المجلد باستخدام الأمر ls.
3.2 الصلاحية r للمجلدات
صلاحية القراءة (r) تسمح للمستخدمين بعرض محتويات المجلد باستخدام الأمر ls.
3.3 الصلاحية w للمجلدات
صلاحية الكتابة (w) للمجلد تعني أن المستخدم يمكنه إضافة ملفات جديدة أو حذف الملفات داخل المجلد.
4. إعطاء صلاحيات خاصة باستخدام umask
في بعض الأحيان، قد ترغب في تحديد الأذونات الافتراضية للملفات والمجلدات الجديدة التي يتم إنشاؤها في النظام. يتم ذلك باستخدام الأداة umask، التي تتيح لك تحديد الأذونات الافتراضية التي سيتم منحها للملفات والمجلدات عند إنشائها.
4.1 مثال على استخدام umask
على سبيل المثال، إذا كنت ترغب في منح الملفات الجديدة أذونات rw-r--r-- (أي قراءة وكتابة للمستخدم، وقراءة فقط للمجموعة والآخرين)، يمكنك ضبط umask على القيمة 022:
bashumask 022
5. حماية الملفات باستخدام الصلاحيات
تعد الصلاحيات جزءًا أساسيًا من تأمين النظام. من خلال التحكم في الأذونات على الملفات والمجلدات، يمكن لمستخدمي النظام ضمان أن البيانات الحساسة محمية من الوصول غير المصرح به. على سبيل المثال:
-
تأمين الملفات التنفيذية: يمكن للمسؤولين عن النظام أن يمنعوا الآخرين من تنفيذ البرامج أو السكربتات الحساسة عن طريق إزالة صلاحية التنفيذ عنها.
-
تأمين المجلدات: يمكن للمسؤولين ضمان أن المجلدات التي تحتوي على بيانات حساسة لا يمكن تعديلها إلا من قبل مجموعة معينة أو المالك فقط.
6. الخاتمة
يعد إدارة الصلاحيات على الملفات والمجلدات جزءًا أساسيًا من الحفاظ على أمان النظام في لينكس. من خلال استخدام الأدوات المناسبة مثل chmod و chown و umask، يمكن للمستخدمين ضمان أن البيانات على النظام محمية بشكل صحيح. إن فهم كيفية ضبط الأذونات بالشكل الصحيح هو أمر بالغ الأهمية لأي مسؤول نظام أو مستخدم لينكس، حيث يساعد ذلك في

