ديف أوبس

تفويض الصلاحيات في Linux باستخدام Sudo

استخدام Sudo لتفويض الصلاحيات في Linux

في أنظمة التشغيل القائمة على Unix مثل Linux، يعتبر التحكم في الصلاحيات والأذونات جزءاً أساسياً لضمان أمان النظام. واحدة من الأدوات الأساسية التي توفرها هذه الأنظمة لإدارة الصلاحيات هي أداة Sudo. تُستخدم أداة Sudo لمنح المستخدمين صلاحيات مؤقتة لتنفيذ أوامر بصلاحيات الجذر (root)، مما يتيح لهم أداء مهام إدارية محددة دون الحاجة إلى منحهم صلاحيات دائمة.

ما هو Sudo؟

Sudo هو اختصار لـ “Superuser Do” ويعني “نفّذ كـ superuser”، ويستخدم لتنفيذ الأوامر بامتيازات المستخدم الجذر (superuser) أو مستخدم آخر يملك صلاحيات أعلى. على الرغم من أن المستخدم العادي في نظام Linux أو Unix ليس لديه صلاحيات تنفيذ أوامر ذات تأثير كبير على النظام مثل تثبيت البرامج أو تغيير إعدادات النظام، يمكنه باستخدام Sudo الحصول على صلاحيات الجذر بشكل مؤقت لإنجاز مهام معينة.

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

الفرق بين Sudo و Su

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

  • Su: يتيح للمستخدم التبديل إلى حساب المستخدم الجذر (root) بشكل كامل بعد إدخال كلمة مرور الجذر. عند استخدام هذا الأمر، يكتسب المستخدم كافة صلاحيات الجذر بشكل كامل، مما يزيد من احتمالية حدوث أخطاء جسيمة إذا تم تنفيذ أوامر غير صحيحة.

  • Sudo: يسمح للمستخدم بتنفيذ أوامر محددة بصلاحيات الجذر دون الحاجة إلى التبديل الكامل إلى حساب الجذر. هذا يجعل Sudo أكثر أماناً مقارنة بـ Su، حيث يتم التحكم في الأوامر التي يمكن تنفيذها والحد من إمكانية إحداث الضرر.

كيفية تثبيت Sudo في Linux

في معظم توزيعات Linux، يتم تثبيت Sudo بشكل افتراضي، ولكن في حالة ما إذا كانت الأداة غير مثبتة، يمكن تثبيتها باستخدام مدير الحزم الخاص بالتوزيعة. على سبيل المثال، في التوزيعات التي تستخدم APT مثل Ubuntu أو Debian، يمكن تثبيت Sudo باستخدام الأمر التالي:

bash
sudo apt update sudo apt install sudo

أما في التوزيعات التي تستخدم YUM مثل CentOS أو RHEL، فيمكن استخدام الأمر التالي:

bash
sudo yum install sudo

إضافة مستخدم إلى مجموعة Sudo

في معظم توزيعات Linux، يتم منح صلاحيات Sudo للمستخدمين عن طريق إضافتهم إلى مجموعة خاصة تسمى sudo أو wheel. هذه المجموعة تمنح أعضائها الصلاحيات اللازمة لاستخدام الأداة Sudo لتنفيذ الأوامر الإدارية.

لإضافة مستخدم إلى مجموعة sudo في Ubuntu أو Debian، يمكن استخدام الأمر التالي:

bash
sudo usermod -aG sudo username

أما في توزيعات مثل CentOS أو RHEL، فيتم استخدام مجموعة wheel بدلاً من sudo:

bash
sudo usermod -aG wheel username

بمجرد إضافة المستخدم إلى هذه المجموعة، يمكنه تنفيذ الأوامر باستخدام Sudo.

كيفية استخدام Sudo

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

bash
sudo apt install package-name

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

تخصيص صلاحيات Sudo عبر ملف sudoers

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

لتعديل ملف sudoers بطريقة آمنة، يجب استخدام المحرر visudo:

bash
sudo visudo

التحرير عبر visudo يضمن التحقق من صحة التغييرات قبل حفظها، مما يمنع أخطاء التكوين التي قد تؤدي إلى مشاكل في النظام.

في ملف sudoers، يمكن تحديد الأوامر التي يُسمح للمستخدمين بتنفيذها. على سبيل المثال:

bash
username ALL=(ALL) ALL

هذا يعني أن المستخدم username يمكنه تنفيذ أي أمر باستخدام Sudo على جميع الأنظمة.

كما يمكن تحديد الأوامر المسموح بها بشكل محدد، على سبيل المثال:

bash
username ALL=(ALL) /usr/bin/apt-get, /usr/bin/dpkg

هذا يسمح للمستخدم username باستخدام Sudo فقط مع الأوامر المحددة.

الفوائد الأمنية لاستخدام Sudo

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

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

التعامل مع الأخطاء أثناء استخدام Sudo

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

  • استخدام أوامر غير صحيحة: يمكن أن يؤدي إدخال أمر خاطئ أثناء استخدام Sudo إلى تدمير ملفات النظام أو تعطيل الخدمات.

  • إدخال كلمة المرور بشكل خاطئ: في حالة إدخال كلمة المرور بشكل خاطئ، سيحاول Sudo مرة أخرى ولكن بعد عدة محاولات فاشلة سيتم قطع الاتصال.

  • إعطاء صلاحيات مفرطة للمستخدمين: يجب توخي الحذر عند منح المستخدمين صلاحيات واسعة جداً باستخدام Sudo، حيث يمكن أن يؤدي ذلك إلى تنفيذ أوامر ضارة.

الخاتمة

تُعد أداة Sudo من الأدوات الأساسية لإدارة أنظمة Linux وUnix، حيث توفر طريقة آمنة ومرنة لتفويض الصلاحيات الإدارية للمستخدمين العاديين. باستخدام Sudo، يمكن للمسؤولين منح المستخدمين إمكانية أداء مهام معينة دون منحهم الوصول الكامل إلى حساب الجذر. من خلال تخصيص صلاحيات Sudo بدقة والتأكد من أن المستخدمين يستخدمون الأداة بحذر، يمكن تقليل المخاطر الأمنية المرتبطة باستخدام صلاحيات الجذر.