هناك العديد من الطرق المختلفة للحصول على جلسة جذر في محطة Linux. يمكن أن يؤدي ذلك إلى حدوث بعض الارتباك ، لأن معظم المستخدمين المبتدئين الذين يتطلعون إلى الحصول على امتيازات الجذر قد لا يكونون على دراية بكيفية حصول كل أمر على حق الوصول إلى الجذر ، وكيف يختلفون ، ومتى تكون هذه الاختلافات مهمة. نحن هنا نفصل كل من الأوامر المختلفة المستخدمة للوصول إلى الجذر في محطة طرفية ، وشرح كيفية اكتساب الجذر ، ومتى يتم استخدامها ، وكل شيء بينهما.
سو
و su
القيادة بدائل المستخدم الحالي النظام يستخدم في وعاء.
يمكنك التبديل إلى أي مستخدم عن طريق كتابة su
اسم مستخدم وإضافته بعده. سيخبر هذا النظام بالتبديل (وتسجيل الخروج بشكل أساسي) المستخدم الحالي إلى المستخدم المحدد. بدلاً من ذلك ، su
يمكن للأمر الوصول إلى الجذر عن طريق الدخول su
دون تحديد أي شيء بعد الأمر.
يتم استخدام “su” بشكل أفضل عندما يريد المستخدم الوصول المباشر إلى حساب الجذر على النظام. لا يمر sudo
أو أي شيء من هذا القبيل. بدلاً من ذلك ، يُطلب منك إدخال كلمة مرور المستخدم الجذر لأنك تقوم بتسجيل الدخول إليه حرفيًا. علاوة على ذلك ، فإن الطرق الأخرى لاكتساب الوصول إلى الجذر لا تتمتع أيضًا بميزة الوصول إلى الدليل الرئيسي للجذر وبيئة الجذر.
sudo su
يطلب هذا الأمر كلمة مرور المستخدم الحالي بدلاً من الجذر.
إنه يشبه في الأساس مجرد الجري su
في الغلاف ، باستثناء فارق واحد مهم. بدلاً من إخبار النظام “بتبديل المستخدمين” مباشرةً ، فأنت تخبره بتشغيل الأمر “su” كجذر. عند sudo su
تشغيل “.profile” ، “.bashrc” و “/ etc / profile” ستبدأ ، مثل التشغيل su
(أو su root
). إذا تم تنفيذ أي أمر sudo
أمامه ، فسيتم منحه امتيازات الجذر.
على الرغم من عدم وجود تباعد كبير بين “sudo su” و “su” ، إلا sudo su
أنه لا يزال أمرًا مفيدًا للغاية لسبب واحد مهم: عندما يقوم المستخدم بتشغيل “su” للوصول إلى الجذر على النظام ، يجب أن يعرف الجذر كلمه السر. يتم إعطاء الجذر مع sudo su
عن طريق طلب كلمة مرور المستخدم الحالية. هذا يجعل من الممكن الحصول على الجذر بدون كلمة مرور الجذر مما يزيد من الأمان.
sudo -i
الاستخدام sudo -i
هو نفسه sudo su
الأمر تقريبًا مع استثناء واحد: فهو لا يتفاعل مباشرة مع المستخدم الجذر.
مثل الكثير sudo su
، -i
تسمح العلامة للمستخدم بالحصول على بيئة جذر دون الحاجة إلى معرفة كلمة مرور حساب الجذر. sudo -i
يشبه أيضًا الاستخدام sudo su
، حيث سيقرأ جميع الملفات البيئية (.profile ، وما إلى ذلك) ويضبط البيئة داخل الغلاف.
حيث يختلف عن sudo su ، فهذه sudo -i
طريقة أنظف كثيرًا لاكتساب جذر وبيئة جذر دون التفاعل المباشر مع مستخدم الجذر. للتوضيح: مع sudo su
أنك تستخدم أكثر من setuid
أمر جذر في الخلفية. هذا يجعل الأمر أكثر صعوبة لمعرفة المتغيرات البيئية التي سيتم الاحتفاظ بها والمتغيرات التي سيتم تغييرها (عند التبديل إلى بيئة الجذر). هذا ليس صحيحا مع sudo -i
. لهذا السبب ، يرى معظم الناس أنه الطريقة المفضلة للحصول على الجذر دون تسجيل الدخول مباشرة.
sudo -s
يستدعي هذا الأمر قذيفة باستخدام متغير $ SHELL الخاص بك.
و -s
التبديل للأمر “سودو” يقرأ متغير $ SHELL الأوامر المستخدم تنفيذ الحالية. يعمل هذا الأمر كما لو كان المستخدم قيد التشغيل sudo /bin/bash
. Sudo -s
هي قذيفة نمط “عدم تسجيل الدخول”. بخلاف أمر مثل sudo -i
أو sudo su
، لن يقرأ النظام أي ملفات بيئية. عندما يخبر المستخدم shell بالتشغيل sudo -s
، فإنه يكتسب الجذر ولكنه لن يغير المستخدم أو بيئة المستخدم. لن يكون منزلك هو المنزل الأساسي ، إلخ.
يتم استخدام هذا الأمر بشكل أفضل عندما لا يرغب المستخدم في التبديل إلى الجذر ولكنه يريد غلافًا تفاعليًا بقيمة بيئة $ SHELL الخاصة به. الأوامر الأخرى التي تحدثنا عنها أعلاه تحصل على حق الوصول إلى الجذر ولكن تلمس الملفات البيئية الجذرية وتسمح للمستخدمين بالوصول الكامل إلى الجذر (والذي يمكن أن يكون مشكلة أمنية).
أسئلة مكررة
1. ما هو الأمر الذي يجب أن أستخدمه؟
كل أمر له حالة الاستخدام الخاصة به. الشيء المهم هنا هو فهم ما يفعله كل أمر ومتى يتم استخدامه. كما هو الحال ، sudo -i
هو الطريقة الأكثر عملية ونظافة لاكتساب بيئة جذرية. من ناحية أخرى ، sudo -s
سيجد أولئك الذين يستخدمون أنه يمكنهم الحصول على غلاف جذر دون القدرة على لمس بيئة الجذر ، وهو أمر أضاف مزايا أمنية.
2. هل يمكن أن يؤدي الوصول إلى الجذر إلى الإضرار بنظامي؟
في بعض الحالات ، نعم. ما لم تكن متأكدًا تمامًا من أنك بحاجة إلى الوصول إلى الجذر لكل شيء في جلسة طرفية معينة ، فمن الأفضل غالبًا أن تكتب فقط sudo
متبوعًا بأمر إذا كنت تريد الوصول إلى الجذر لهذا الأمر المحدد. على سبيل المثال ، sudo apt install vlc
ستخبر الكتابة في أي إصدار من Linux يستند إلى Debian نظام التشغيل للوصول إلى الجذر فقط لتشغيل مدير حزمة APT لتثبيت VLC.
أحد التحذيرات المهمة جدًا للتشغيل sudo -i
أو أي متغير آخر ناقشناه سابقًا بدلاً من الكتابة sudo
قبل كل أمر تريد تشغيله كجذر هو أن الأول لا يسجل محفوظات الأوامر الخاصة بك /var/log/auth.log
. إذا أخطأت ، فلا يمكنك العودة والتحقق مما فعلته حتى تتمكن من تصحيحه. سيتعين عليك العمل خارج الذاكرة ، حيث لا يتم تسجيل جلسات الجذر.
3. عندما أكتب “sudo” قبل الأمر ، ما هو متغير “sudo su” الذي أقوم بتشغيله؟
من خلال الكتابة sudo
لتنفيذ أمر (أي أنك تكتبه في نفس سطر الأمر الذي تريد تشغيله) ، فأنت تقوم بتشغيله بشكل أساسي ضمن غلاف جذر تفاعلي. سيكون هذا ما يفعله sudo -s
الأمر المستقل.