ضع في اعتبارك الكتاب الهزلي أعلاه من الويب الهزلي الممتاز XKCD. يريد الزميل الكسول الجالس على الكرسي من صديقه أن يصنع له شطيرة ، لكنهم يفتقرون إلى السلطة لجعلهم يفعلون ذلك. أي حتى يستدعي أمر sudo الجبار. بعد ذلك ، يتم عمل شطيرة بطريقة أو بأخرى.
بينما قد لا تكون محاولة sudo على شخص ما في الحياة الواقعية بنفس الفعالية ، فهي الأمر السحري الذي يتجاوز كل عقبة في عالم Linux. ما هو سودو؟ لماذا هي موجودة حتى؟ تكمن الإجابة في كيفية تعامل Linux مع الأذونات.
فهم أذونات مستخدم Linux
يُعتبر Linux نظام تشغيل آمنًا نظرًا لكيفية تعامله مع الأذونات. في حين أن أنظمة التشغيل مثل macOS (التي تشترك في سلف مع Linux) و Windows أصبحت الآن أشبه بنظام Linux في هذا الصدد ، فإن نظام التشغيل مفتوح المصدر لا يزال فريدًا إلى حد ما.
إن فهم كيفية تعامل Linux مع الأذونات يجعله أسهل كثيرًا في الالتفاف حول أمر sudo. جميع أنظمة التشغيل الحديثة لها مستوى أذونات المستخدم "المسؤول" أو "الجذر". إذا كان لديك حساب مسؤول أو حساب جذر ، فيمكنك تغيير أي إعداد وحذف أي بيانات والقيام بشكل عام بما تريد باستخدام الكمبيوتر.
يتضمن ذلك الأشياء التي ربما لا يجب عليك فعلها والتي يمكن أن تؤدي إلى فقد البيانات أو الحاجة إلى المسح الكامل وإعادة التثبيت.
Linux لا ر جعل أذونات مستوى المستخدم الجذر الافتراضية. بدلاً من ذلك ، لا يمكن لحسابك الوصول إلى الأجزاء الحساسة حقًا من النظام دون رفع مستوى الإذن الخاص بك. هذا يعني أن النظام سيطلب منك إدخال كلمة مرور المسؤول عندما تريد القيام بشيء خارج عن المألوف باستخدام واجهة رسومية.
ومع ذلك ، عندما تريد استخدام سطر الأوامر صالة لإنجاز المهام ، فإن sudo هو الأكثر أمانًا والطريقة الأكثر فاعلية للقيام بذلك.
Sudo و Terminal
هناك طريقتان لمنح نفسك أذونات عالية في Linux. الأول هو تسجيل الدخول كمستخدم أساسي بشكل دائم. المشكلة في ذلك هي أن أي شخص آخر قد يصل إلى الكمبيوتر يمكن أن يتسبب في إحداث فوضى ، وحتى يمكنك القيام بذلك عن طريق الصدفة. ترفع Sudo أذوناتك لفترة قصيرة فقط لتنفيذ الأوامر المحددة التي تتبعها.
Sudo Syntax
بنية Sudo (تنسيق الأمر) بسيطة. ما عليك سوى كتابة "sudo" متبوعًا بالأمر الذي تريد تنفيذه.
على سبيل المثال ، سيقوم "sudo apt-get update" بتحديث جميع مستودعات التطبيقات المدرجة في الملف ذي الصلة ملف. إذا حاولت تشغيله بدون sudo ، فستتلقى رسالة خطأ تخبرك أنه ليس لديك إذن. بالمناسبة ، هذا هو عمومًا أمر sudo الأول الذي تريد تشغيله بعد تثبيت جديد لتوزيعة Linux المفضلة لديك.
"Su" في Sudo
كلمة "su" في sudo هي اختصار لـ "superuser" وهي أمر مستقل. يتيح لك الأمر "su" تغيير امتيازات المستخدم التي يقوم sudo بترقيتك إليها.
بالرغم من أن sudo يرفعك إلى الجذر مؤقتًا ، فإن su يغيرك إلى مستخدم آخر بامتيازات مناسبة. قد يبدو هذا تمييزًا غير مهم ، لكن هناك أسبابًا وجيهة لتغيير الحساب الذي يرفع sudo المستخدم إليه.
أولاً وقبل كل شيء ، يعني تغيير الحساب أن المستخدمين العاديين لا يعرفون كلمة مرور الجذر. ثانيًا ، يوجد سجل لجميع أوامر sudo ، مما يعني أن مسؤول النظام (الجذر) يمكنه البحث عن من أصدر أوامر su.
صيغة su هي في الأساس نفس sudo:
Su USERNAME -c COMMAND
استبدل USERNAME بالمستخدم المطلوب لتشغيل الأمر و COMMAND بأمر Linux الذي تريد تنفيذه.
إذا إذا كنت تريد تشغيل أوامر متعددة كمستخدم آخر ، فما عليك سوى استخدام:
Su USER
استبدل USER بهوية حساب المستخدم المطلوبة.
إذا كنت تستخدم su من تلقاء نفسها ، فسيقوم Linux بالتبديل إلى حساب المستخدم الآخر حتى تستخدم الأمر "exit". من المهم أن تتذكر هذا أو أن المستخدم التالي للوصول إلى المحطة في تلك الجلسة سيظل لديه أذونات مرتفعة. هذا هو السبب في أنه من الأفضل عمومًا استخدام sudo بدلاً من su.
حد وقت Sudo
في المرة الأولى التي تستخدم فيها أمر sudo ، سوف تضطر إلى إدخال كلمة مرور. بعد ذلك ، ستبقى كلمة المرور هذه صالحة لمدة 15 دقيقة. يمكنك تغيير هذا الإعداد الافتراضي عن طريق تشغيل الأمر sudo visudoوتغيير “timestamp_timeout =” إلى قيمة أطول أو أقصر. ومع ذلك ، لا نوصيك بالقيام بذلك إلا إذا كان لديك سبب وجيه لتمديد أو تقصير المدة التي تظل فيها كلمة مرور sudo صالحة.
Sudo Option Switches
على الرغم من أن بنية sudo هي بسيطة ، عدة مفاتيح تستحق أن تعرف عنها. تفتح هذه الأوامر معلومات إضافية أو تساعدك على التحكم في جلسة sudo:
هناك العديد من الخيارات المضمنة في sudo ، ويمكنك رؤيتها جميعًا باستخدام مفتاح -h الأول المذكور أعلاه.
لقطة الشاشة أعلاه هي ما ينتج عند استخدام خيار المساعدة.
أوامر Sudo المفيدة
إذن ما هي الأوامر التي تم تمكينها بواسطة sudo والتي يجب أن يعرفها كل مستخدم Linux؟ لقد قمنا بالفعل بتغطية sudo apt-get update ، لكن لاحظ ذلك أيضًا:
من المحتمل أن تكون هذه هي أوامر sudo الأولى التي يجب عليك استخدامها ، ولكن كما تعلمت أعلاه ، يمكن لأي أمر اتباع sudo ، ولكن يجب عليك فقط استخدام الأوامر التي تحتاج إلى امتيازات أعلى معها.