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