إدارة صلاحيات root في Ubuntu: الدليل الشامل للمبتدئين والمحترفين

目次

1. المقدمة

في Ubuntu، هناك العديد من مهام إدارة النظام التي تتطلب صلاحيات root، وهي الصلاحيات التي لا يمكن للمستخدم العادي الوصول إليها. root يُعَد “حساب المدير” للنظام، ويمكنه تنفيذ مهام هامة مثل إدارة نظام الملفات وتثبيت الحزم وتغيير الإعدادات. في هذه المقالة، سنشرح كيفية التحويل إلى root في Ubuntu، بالإضافة إلى النقاط المهمة التي يجب الانتباه إليها عند تنفيذ ذلك.

2. صلاحيات root في Ubuntu وخصائصها

بسبب سياسة الأمان في Ubuntu، يتم تعطيل حساب root افتراضيًا. هذا يقلل من مخاطر النظام الناتجة عن استخدام صلاحيات root دون حاجة. بدلاً من ذلك، يُسمح للمستخدمين باستخدام أمر “sudo” للحصول على صلاحيات root مؤقتًا عند الحاجة.

2.1 الفرق بين المستخدم العادي ومستخدم root

المستخدم العادي يمكنه فقط تنفيذ عمليات داخل دليل المستخدم الخاص به وبعض إعدادات النظام، بينما يمكن لـ root تنفيذ جميع العمليات بدون قيود. لهذا السبب، تصبح صلاحيات root ضرورية بشكل خاص عند التعامل مع ملفات النظام أو الأذونات. ولكن، استخدام صلاحيات root بشكل خاطئ قد يسبب مشاكل في استقرار النظام، لذا من المهم معرفة كيفية استخدامها بشكل صحيح.

2.2 الحصول المؤقت على صلاحيات root باستخدام sudo

عند الحاجة لصلاحيات root كمدير للنظام في Ubuntu، يُوصى باستخدام أمر sudo بدلاً من التحويل المباشر إلى حساب root. سيتم شرح كيفية الاستخدام والنقاط المهمة بالتفصيل في الأقسام التالية.

3. كيفية التحويل المؤقت إلى root

عندما تكون بحاجة لصلاحيات root في Ubuntu، يُفضَّل منح صلاحيات root لأوامر معينة فقط بدلاً من التحويل الكامل إلى حساب root. هذه الطريقة تقلل من مخاطر الأخطاء بعد انتهاء المهمة، حيث تعود تلقائيًا إلى صلاحيات المستخدم العادي. فيما يلي شرح للخطوات باستخدام أمر sudo.

3.1 كيفية استخدام أمر sudo الأساسي

“sudo” هو اختصار لـ “substitute user do”، ويستخدم لتغيير صلاحيات المستخدم بشكل مؤقت. حتى إذا كنت مستخدمًا عاديًا، يمكنك تنفيذ أوامر بصلاحيات root باستخدام sudo كما يلي:

$ sudo [الأمر]

على سبيل المثال، لتحديث الحزم، اكتب:

$ sudo apt update

هذا الأمر يمكن تنفيذه فقط من قبل المستخدمين الذين لديهم صلاحيات root، ولهذا عند استخدام sudo تحصل على هذه الصلاحيات مؤقتًا.

3.2 إدخال كلمة المرور عند استخدام sudo

عند استخدام sudo لأول مرة، سيُطلب منك إدخال كلمة مرور المستخدم الحالي. هذا يمنع الاستخدام غير المصرح به لأمر sudo ويعزز الأمان. ويظل التحقق من كلمة المرور صالحًا لفترة معينة، لذلك ليس عليك إدخالها كل مرة عند تنفيذ أوامر متتالية.

3.3 مدة تفعيل sudo المؤقتة

تكون صلاحيات sudo فعالة مؤقتًا في Ubuntu لمدة تقارب 15 دقيقة بشكل افتراضي. إذا لم تعد بحاجة لصلاحيات root، يمكنك إنهاء الجلسة أو تعطيل الصلاحيات يدويًا. على سبيل المثال، استخدم الأمر التالي لتعطيل التحقق فورًا:

$ sudo -k

بعد ذلك، سيُطلب منك إدخال كلمة المرور مرة أخرى عند استخدام sudo في المرة القادمة.

4. كيفية التحويل إلى shell root

من خلال التحويل إلى shell root، يمكنك تنفيذ العمليات كـ root بشكل متواصل، وهذا مفيد عند إجراء عدة عمليات إدارية. في Ubuntu، يمكنك استخدام sudo -i أو sudo su للتحويل إلى shell root. سنوضح كيفية استخدام كل منهما وخصائصه.

4.1 التحويل إلى shell root باستخدام sudo -i

أمر sudo -i يتيح لك الدخول إلى shell ببيئة root كاملة، حيث يتم تحميل متغيرات البيئة وملفات الإعدادات الخاصة بـ root. استخدم الأمر التالي:

$ sudo -i

بعد الانتهاء، استخدم الأمر exit للعودة إلى المستخدم العادي.

4.2 التحويل إلى shell root باستخدام sudo su

أمر sudo su مشابه لـ sudo -i، لكنه يختلف قليلاً في طريقة تحميل متغيرات البيئة. غالبًا ما تحتفظ بمتغيرات بيئة المستخدم العادي، مع منحك صلاحيات root. هذا مفيد إذا كنت لا تحتاج إلى تهيئة البيئة بالكامل كـ root.

$ sudo su

4.3 التحويل بدون تَوريث متغيرات البيئة (su -)

إذا كنت بحاجة إلى بيئة root نظيفة تمامًا بدون تَوريث متغيرات البيئة من المستخدم العادي، استخدم أمر su - كما يلي:

$ su -

5. التحويل إلى root باستخدام أمر su

يمكنك أيضًا التحويل إلى root من خلال أمر su. تُستخدم هذه الطريقة بشكل شائع في توزيعات لينكس الأخرى، لكنها تتطلب تعيين كلمة مرور لحساب root في Ubuntu حيث يكون حساب root مُعطلاً افتراضيًا.

5.1 كيفية استخدام أمر su الأساسي

أمر su يتيح لك التبديل بين المستخدمين، ويمكنك تحديد اسم المستخدم الذي تريد التحويل إليه. للتحويل إلى root، اكتب:

$ su

سيُطلب منك إدخال كلمة مرور root، وبعد النجاح ستدخل إلى shell root. عند الانتهاء، استخدم exit للعودة للمستخدم السابق.

5.2 الفرق بين su و su –

عند استخدام su -، يتم تحميل بيئة المستخدم الهدف بشكل كامل (عادة root)، بينما su فقط يغير المستخدم ويحتفظ بالبيئة الحالية. استخدم su - إذا كنت بحاجة لبيئة root نظيفة:

$ su -

6. ملاحظات أمنية عند استخدام صلاحيات root

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

6.1 تجنب إساءة استخدام صلاحيات root

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

6.2 التأكد من تسجيل الخروج من root بعد الانتهاء

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

6.3 الإعداد الصحيح لملف sudoers

ملف sudoers يُحدد أي المستخدمين يمكنهم استخدام sudo. استخدم أمر visudo لتحرير الملف بأمان، ويمكنك تقييد صلاحيات sudo لمستخدمين محددين فقط، مما يعزز أمان النظام.

6.4 استخدام سجلات التدقيق (audit logs)

Ubuntu يحتفظ بسجلات حول استخدام صلاحيات root. يمكنك مراجعة هذه السجلات لمعرفة من نفذ أوامر root ومتى. هذا مفيد بشكل خاص إذا كان لديك عدة مستخدمين يملكون صلاحيات sudo.

7. الأخطاء الشائعة وكيفية التعامل معها

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

7.1 خطأ “Permission denied”

إذا حاولت تنفيذ أمر يتطلب صلاحيات root كمستخدم عادي، قد تظهر رسالة خطأ Permission denied. لحل ذلك، نفذ الأمر باستخدام sudo كما يلي:

$ sudo [الأمر]

إذا كنت بحاجة لتنفيذ عدة أوامر متتالية، يمكنك التحويل إلى shell root كما هو موضح أعلاه.

7.2 خطأ “user is not in the sudoers file”

إذا لم يكن المستخدم مضافًا إلى ملف sudoers، ستظهر رسالة user is not in the sudoers file ولن تستطيع استخدام sudo. يجب على مدير النظام إضافة المستخدم إلى ملف sudoers باستخدام visudo كما يلي:

username ALL=(ALL) NOPASSWD: ALL

7.3 مشكلة انتهاء صلاحية sudo

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

7.4 تم تعطيل كلمة مرور root

في Ubuntu، حساب root معطل افتراضيًا، لذا إذا حاولت استخدام su ستظهر رسالة خطأ “Authentication failure”. لحل ذلك، يمكنك تعيين كلمة مرور root باستخدام الأمر التالي:

$ sudo passwd root

بعد ذلك سيُصبح بإمكانك التحويل إلى root باستخدام su.

8. الخلاصة

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

8.1 ملخص المقال

  • أهمية صلاحيات root: ضرورية للوصول إلى أجزاء النظام وإجراء العمليات الإدارية.
  • منح صلاحيات root مؤقتًا باستخدام sudo: استخدام sudo [الأمر] يقلل المخاطر الأمنية.
  • طرق التحويل إلى shell root: استخدم sudo -i أو sudo su لتنفيذ عدة أوامر كـ root.
  • التمييز بين su و su –: استخدم الطريقة الأنسب حسب الحاجة لتهيئة بيئة العمل.
  • ملاحظات أمنية: قلل من استخدام root وسجّل الخروج بعد الانتهاء مباشرةً.
  • الأخطاء الشائعة والحلول: تأكد من إعداد sudoers وتفعيل حساب root إذا لزم الأمر.

8.2 الاستخدام الآمن لصلاحيات root

الاستخدام الصحيح لصلاحيات root يجعل إدارة Ubuntu أكثر فعالية. في نفس الوقت، عليك الحذر من المخاطر المرتبطة بذلك، واستخدم صلاحيات root فقط عند الحاجة، مع الحفاظ الدائم على أمان النظام.