في هذه المقالة، سنستكشف أهمية تنظيم مستخدمي لينكس بشكل صحيح. سنشرح صلاحيات الوصول، بدءًا من كيفية إنشاء المستخدمين وتكوينهم، وصولًا إلى كيفية منحهم حق الوصول إلى ملفات ومجلدات محددة. سنناقش أيضًا بعض أدوات الأمان المهمة، مثل sudo وSELinux، التي تساعد في حماية النظام من الأنشطة غير المرغوب فيها.
أهمية إدارة المستخدمين وحقوق الوصول في لينكس
في عالم لينكس، تلعب إدارة المستخدمين وحقوق الوصول دورًا محوريًا. تخيّل لينكس كشقة كبيرة، حيث يُمثّل كل مستخدم مستأجرًا، وكل ملف غرفة. تُشبه إدارة المستخدمين تخصيص مفتاح فريد لكل مستأجر، بينما تُمثّل حقوق الوصول ما يُمكنه فعله في غرفته.
عند إنشاء حساب مستخدم، يُخصص له اسم ومعرّف فريد ( UID )، تمامًا كالمفتاح الشخصي للشقة. كما ينضم المستخدم إلى مجموعة ، تربطه بباقي المستأجرين. تُشبه المجموعة ناديًا يتشارك أعضاؤه فيه امتيازات مشتركة.
تُقسّم حقوق الوصول إلى الملفات إلى ثلاث فئات: المالك ( المستخدم )، والمجموعة ، والآخرون . لكل مفتاح (مستخدم) حقوقه الخاصة في القراءة والكتابة والتنفيذ لكل فئة. على سبيل المثال، قد يمتلك مالك الملف حقوق القراءة والكتابة، بينما تمتلك المجموعة حقوق القراءة فقط، ولا يمتلك الآخرون أي حقوق.
تستحق سياسات الأمان مثل sudo و SELinux ، المستخدمة في أنظمة لينكس، اهتمامًا خاصًا. sudo هو أمر خاص يسمح للمستخدمين العاديين باستخدام صلاحيات المستخدم المتميز (root) مؤقتًا لتنفيذ مهام محددة متاحة عادةً للمسؤولين فقط. يساعد هذا في منع الأخطاء غير المقصودة أو إساءة استخدام صلاحيات المستخدم المتميز. عند استخدام sudo ، يُطلب من المستخدم عادةً إدخال كلمة المرور لتأكيد هويته. بعد ذلك، يمكنه تنفيذ الأوامر بصلاحيات المستخدم المتميز (root) وفقًا للقواعد المحددة في ملف sudoers.
يُعدّ SELinux طبقة أمان إضافية لنظام التشغيل لينكس. فهو يراقب البرامج والملفات المسموح باستخدامها في النظام، ويُقيّد الوصول إليها لمنع الاختراقات والهجمات. وهذا يُعزّز أمان الخادم من خلال منع محاولات القرصنة أو الأنشطة الخبيثة.
إنشاء المستخدمين وإدارتهم
كيفية إنشاء مستخدم في لينكس
عادةً ما يتم إنشاء مستخدمي لينكس باستخدام الأمر useradd . على سبيل المثال، لإنشاء مستخدم باسم "username"، يمكنك إدخال الأمر التالي:
useradd username
كيفية تعيين كلمة مرور مستخدم لينكس
بعد إنشاء المستخدم، لا يكون حسابه محميًا بكلمة مرور. لتعيين كلمة مرور لمستخدم جديد، استخدم الأمر passwd.
passwd username
حيث أن اسم المستخدم هو اسم المستخدم الذي يتم تعيين كلمة المرور له.
كيفية عرض قائمة المستخدمين في لينكس
لعرض قائمة المستخدمين في نظام لينكس باستخدام أمر واحد في الطرفية، يمكنك استخدام الأمر cut :
cut -d: -f1 /etc/passwd
يقرأ هذا الأمر محتويات ملف /etc/passwd ، الذي يحتوي على معلومات حول جميع المستخدمين.
للحصول على معلومات حول مستخدم معين، يمكنك استخدام الأمر:
id username
سيؤدي هذا إلى عرض معرف المستخدم (UID) ومعرف المجموعة (GID ) والمجموعات الخاصة به.
حذف مستخدم لينكس
لحذف مستخدم، استخدم الأمر userdel :
userdel username
مع ذلك، لا يحذف هذا الأمر الملفات الموجودة في مجلد المستخدم الرئيسي. لإزالتها، يمكنك استخدام الخيار -r.
userdel -r username
سيؤدي هذا إلى حذف اسم المستخدم بالإضافة إلى دليل المنزل الخاص به وجميع الملفات الموجودة بداخله.
تعديل مستخدم لينكس
لتعديل معلومات المستخدم، استخدم الأمر usermod . يستخدم هذا الأمر الصيغة التالية:
usermod argument user
يتم عرض قائمة كاملة بالحجج المحتملة في تعليمات الأداة المساعدة:
على سبيل المثال، لتغيير دليل المستخدم الرئيسي، يمكنك استخدام الأمر:
usermod -d /new/path/to/directory username
إنشاء مجموعات المستخدمين وإدارتها في Linux
تتيح مجموعات المستخدمين في لينكس للمسؤولين تجميع المستخدمين ذوي صلاحيات وصول متشابهة. يُسهّل هذا إدارة صلاحيات الوصول ويُعزز أمان النظام من خلال تمكين تحديد الصلاحيات على مستوى المجموعة، بدلاً من تحديدها لكل مستخدم على حدة. على سبيل المثال، سنتناول مجموعة المطورين مع المستخدم المسؤول.
كيفية إنشاء مجموعة مستخدمين في لينكس
لإنشاء مجموعة جديدة، استخدم الأمر groupadd مع اسم المجموعة الجديدة:
sudo groupadd group_name
في مثالنا، سيبدو الأمر كما يلي:
sudo groupadd developers
كيفية حذف مجموعة مستخدمين في لينكس
لحذف مجموعة، استخدم الأمر groupdel :
sudo groupdel group_name
وبالتالي فإن الأمر:
sudo groupdel developers
سأحذف المجموعة المسماة " المطورين".
إضافة مستخدمين إلى مجموعة
لإضافة مستخدم إلى مجموعة معينة، استخدم الأمر usermod :
sudo usermod -aG group_name user_name
فمثلا:
sudo usermod -aG developers admin
سيضيف هذا الأمر المستخدم المسمى "admin" إلى مجموعة المطورين.
إزالة المستخدمين من مجموعة
لإزالة مستخدم من مجموعة، استخدم الأمر deluser :
sudo deluser user_name group_name
الأمر لإزالة المستخدم المسؤول من مجموعة المطورين :
sudo deluser admin developers
عرض قوائم المجموعات في Linux
لعرض قائمة بجميع المجموعات في النظام، استخدم الأمر cat مع ملف /etc/group :
cat /etc/group
سيؤدي هذا الأمر إلى عرض قائمة بجميع المجموعات الموجودة في النظام.
التحقق من عضوية مجموعة المستخدمين
بعد تنفيذ الإجراءات، يمكنك التحقق من المجموعات التي ينتمي إليها المستخدم باستخدام أمر المجموعات:
groups user_name
بهذا نكون قد استكشفنا أساسيات إدارة مجموعات المستخدمين في لينكس. والآن، لننتقل إلى المرحلة التالية - دراسة منح صلاحيات الوصول إلى الملفات والمجلدات. تتيح هذه العملية تحديد الإجراءات التي يمكن للمستخدمين أو المجموعات تنفيذها على ملفات ومجلدات محددة، مما يضمن إدارة أمنية فعّالة والوصول إلى موارد النظام.
تعيين حقوق الوصول إلى الملفات والدلائل
التمثيل الرمزي لحقوق الوصول
كما سبق أن اكتشفنا، توجد ثلاث فئات من المستخدمين في لينكس: المالك ( المستخدم )، والمجموعة ، وغيرهم . ولكل فئة منها صلاحيات وصول محددة إلى الملفات أو المجلدات.
- قراءة (Read - r): يسمح بعرض محتويات الملف أو الدليل.
- الكتابة (Write - w): تتيح تعديل ملف أو إنشاء ملف جديد داخل المجلد. كما تتيح حذف ملفات من المجلد.
- تنفيذ (Execute - x): يسمح بتنفيذ الملف (إذا كان ملفًا قابلاً للتنفيذ) أو الدخول إلى الدليل (إذا كان دليلاً).
في أنظمة عائلة لينكس، تُمثَّل حقوق الوصول بسلسلة من عشرة أحرف. يُشير الحرف الأول إلى نوع الملف (ملف عادي، مجلد، إلخ)، بينما تُمثِّل الأحرف التسعة المتبقية ثلاث مجموعات من ثلاثة أحرف لكل مجموعة مستخدمين. لفهم ذلك، لنأخذ مثالاً.
تعني حقوق الوصول -rwxr-xr-- ما يلي:
- يشير الحرف الأول (-) إلى نوع الملف (في هذه الحالة، ملف عادي).
- تشير الأحرف الثلاثة للمالك (rwx) إلى أن المالك لديه حقوق القراءة والكتابة وتنفيذها.
- تشير الأحرف الثلاثة للمجموعة (rx) إلى أن أعضاء المجموعة لديهم حقوق القراءة والتنفيذ فقط.
- ثلاثة أحرف للآخرين (r--) تعني أن المستخدمين الآخرين يمكنهم فقط قراءة الملف.
يتم تعيين حقوق الوصول باستخدام أمر chmod ، ويكون بناء الجملة كما يلي:
chmod [options] mode file(s)
أين:
- [الخيارات] - معلمات إضافية، مثل -R لتغيير حقوق الوصول بشكل متكرر في الدليل والدلائل الفرعية الخاصة به.
- الوضع - سلسلة نصية خاصة تُحدد حقوق الوصول التي سيتم تغييرها ولمن. يمكن تحديد الوضع بالرموز (r، w، x) والبتات (0 أو 1). كما يمكن استخدام القيم الرقمية للوضع (سنتحدث عنها لاحقًا).
- الملف(ات) - الملفات أو الدلائل التي يتم تطبيق التغييرات عليها.
تعتبر هذه الأداة المساعدة قوية جدًا، لذلك سننظر فقط إلى بعض الأوامر الأساسية كمثال.
تغيير حقوق الوصول إلى ملف بحيث يكون لدى المالك حقوق القراءة والكتابة، وتتمتع المجموعة بحقوق القراءة فقط، ولا يتمتع المستخدمون الآخرون بأي حقوق:
chmod u=rw,g=r,o= filename
تعيين حقوق الوصول لجميع المستخدمين لقراءة الملف والكتابة إليه:
chmod a+rw filename
تغيير حقوق الوصول بشكل متكرر لجميع الملفات والدلائل الفرعية في الدليل:
chmod -R u+rwx directory
التمثيل الرقمي لحقوق الوصول
في التمثيل الرقمي، لكل فئة مستخدم (مالك، مجموعة، آخرون) رقمها الخاص، ويحدد مجموع هذه الأرقام حقوق الوصول النهائية. وكما هو الحال في التمثيل الرمزي، لكل حق من الحقوق الثلاثة قيمته، ولكن بشكل رقمي:
- اقرأ (اقرأ) - القيمة 4
- اكتب (اكتب) - القيمة 2
- تنفيذ (تنفيذ) - القيمة 1
يتم أيضًا استخدام القيم الرقمية لتحديد نوع المستخدم:
- مالك الملف (المستخدم) - الرقم الأول
- مجموعة المالك (المجموعة) - الرقم الثاني
- المستخدمون الآخرون (الآخرون) - الرقم الثالث
وبالتالي، يتكون التمثيل الرقمي الكامل لحقوق الوصول إلى الملفات من ثلاثة أرقام، يمثل كل منها مجموع قيم الحقوق لفئة مستخدمين معينة. وهذا أسهل نوعًا ما من استخدام عشرة أحرف في التمثيل الرمزي. ستكون الإدارة في هذه الحالة كما يلي:
chmod XYZ file
حيث تمثل X و Y و Z أرقامًا تمثل حقوق الوصول للمالك والمجموعة والمستخدمين الآخرين على التوالي.
على سبيل المثال، لمنح المالك حقوق الوصول الكاملة (القراءة والكتابة والتنفيذ)، والمجموعة والمستخدمين الآخرين فقط القراءة والتنفيذ، يمكنك استخدام الأمر:
chmod 755 file
دعونا نفكر في أمثلة أخرى:
chmod 700 file
يملك المالك فقط حقوق القراءة والكتابة والتنفيذ، في حين لا تملك المجموعة والمستخدمين الآخرين أي حقوق الوصول.
chmod 644 file
لدى المالك حقوق القراءة والكتابة، بينما المجموعة والمستخدمين الآخرين لديهم حقوق القراءة فقط.
chmod 751 file
يملك المالك حقوقًا كاملة، والمجموعة لديها حقوق القراءة والتنفيذ، والمستخدمون الآخرون لديهم حقوق التنفيذ فقط.
كما ذكرنا سابقًا، تتميز الأداة بوظائف واسعة جدًا. في بعض الحالات، قد لا تكفي الخيارات المتاحة في قسم "المساعدة":
انتبه إلى السطر الأخير. سيؤدي استخدام هذا الأمر إلى فتح وثائق أكثر تفصيلاً حول الأداة. يمكنك أيضًا زيارة صفحة ويكيبيديا الرسمية للأداة ، حيث ستجد معلومات مفصلة حول Chmod.
خاتمة
يُعدّ مستخدمو لينكس وإدارتهم أمرًا بالغ الأهمية لأمان نظام التشغيل واستقراره. في هذه المقالة، سلّطنا الضوء على أهمية الإدارة الفعّالة لحقوق المستخدمين والوصول في لينكس، بما في ذلك إنشاء المستخدمين وإدارتهم، والعمل مع مجموعات المستخدمين، ومنح حقوق الوصول إلى الملفات والمجلدات.