ال sudo
يمنح الأمر المستخدم صلاحيات المستخدم الفائق أو الجذر. لا شك أنك وجهت إليهم خطاب “مع القوة العظيمة تأتي المسؤولية العظيمة”. إليك كيفية التحقق مما إذا كانوا يستمعون أم لا.
الأمر sudo
ال sudo
تعني كلمة “command” “استبدال المستخدم”. وهي تتيح للشخص المصرح له تنفيذ أمر كما لو كان مستخدمًا آخر. ويمكن أن يأخذ معلمات سطر الأوامر، أحدها اسم المستخدم الذي ترغب في تنفيذ الأمر باسمه. الطريقة الأكثر شيوعًا هي: sudo
الطريقة المستخدمة هي حذف خيارات سطر الأوامر واستخدام الإجراء الافتراضي. وهذا ينفذ الأمر فعليًا كمستخدم الجذر.
للإستخدام sudo
بهذه الطريقة يتطلب الأمر إذنًا خاصًا. فقط أصحاب الامتيازات يمكنهم استخدام sudo
عند تثبيت توزيع Linux حديث، يُطلب منك إعداد كلمة مرور الجذر التي يمكنك استخدامها مع sudo
يتم منح الإذن بذلك للمستخدم العادي الذي تقوم بإنشائه أثناء التثبيت. هذه هي الطريقة المفضلة للتعامل مع الوصول إلى إمكانيات المستخدم الجذر. كانت الطريقة القديمة هي إنشاء مستخدم جذر وتسجيل الدخول باسمه لإدارة نظامك.
كان هذا السيناريو خطيرًا. كان من السهل أن تنسى أو تتكاسل عن تسجيل الخروج والعودة كمستخدم عادي عندما لم تعد بحاجة إلى امتيازات الجذر. سيتم تنفيذ أي أخطاء ترتكبها في نافذة المحطة الطرفية بصفتك الجذر، بغض النظر عن مدى خطورتها. سيتم تنفيذ الأشياء التي قد يتم حظرها بواسطة shell إذا حاول مستخدم عادي القيام بها دون سؤال عندما يطلبها الجذر. يعد استخدام حساب الجذر بدلاً من الحساب العادي أيضًا خطرًا أمنيًا.
استخدام sudo
إنك تدخل نفس المياه الخطرة، ولكنك تختار ذلك بوعي، ونأمل أن تتوخى الحذر الشديد. ولا تستدعي حالة المستخدم الفائق إلا عندما تحتاج إلى القيام بشيء يتطلب ذلك.
إذا قمت بإتاحة الوصول إلى الجذر لمستخدمين آخرين، فأنت تريد التأكد من أنهم يحرصون على التعامل معهم بنفس القدر الذي تحرص عليه أنت. فأنت لا تريد منهم تشغيل الأوامر بتهور أو بشكل غير مدروس. إن صحة وسلامة تثبيت Linux الخاص بك تعتمد على تصرف المستخدمين المتميزين باحترام ومسؤولية.
فيما يلي عدة طرق لمراقبة استخدام الجذر.
ملف auth.log
تحتفظ بعض التوزيعات بسجل مصادقة، في ملف يسمى “auth.log”. مع ظهور وانتشار استخدام
systemd
، تمت إزالة الحاجة إلى ملف “auth.log”.
systemd-journal
يقوم daemon بتوحيد سجلات النظام في تنسيق ثنائي جديد بعد ذلك journalctl
يوفر لك طريقة لفحص السجلات أو استجوابها.
إذا كان لديك ملف “auth.log” على جهاز الكمبيوتر الذي يعمل بنظام Linux، فمن المحتمل أن يكون موجودًا في الدليل “/var/log/”، على الرغم من أن اسم الملف والمسار في بعض التوزيعات يكونان “/var/log/audit/audit.log”.
يمكنك فتح الملف في less
مثل هذا. تذكر ضبط المسار واسم الملف ليناسب التوزيع الخاص بك، وكن مستعدًا في حالة عدم قيام نظام Linux الخاص بك بإنشاء ملف مصادقة.
لقد عمل هذا الأمر على Ubuntu 22.04.
less /var/log/auth.log
يتم فتح ملف السجل، ويمكنك التمرير خلال الملف أو استخدام مرافق البحث المضمنة في less للبحث عن “sudo”.
حتى باستخدام مرافق البحث الخاصة بـ less
قد يستغرق الأمر بعض الوقت لتحديد موقع sudo
الإدخالات التي تهمك.
لنفترض أننا نريد أن نرى ما يسمى به المستخدم mary
لقد استخدم sudo
يمكننا البحث في ملف السجل باستخدام grep
للأسطر التي تحتوي على “sudo” فيها، ثم قم بتوجيه الإخراج من خلال grep
مرة أخرى وابحث عن الخطوط التي تحتوي على كلمة “ماري” فيها.
لاحظ sudo
قبل grep وقبل اسم ملف السجل.
sudo grep sudo /var/log/auth.log | grep "mary"
هذا يعطينا أسطر تحتوي على “sudo” و “mary” فيها.
يمكننا أن نرى أن المستخدم mary
تم اعطاءه sudo
الامتيازات في الساعة 15:25، وفي الساعة 15:27 تفتح fstab
الملف في محرر. هذا هو نوع النشاط الذي يستحق بالتأكيد خوضًا أعمق، بدءًا بالدردشة مع المستخدم.
استخدام journalctl
الطريقة المفضلة على systmd
– توزيعات لينكس القائمة على نظام التشغيل هي استخدام journalctl
أمر لمراجعة سجلات النظام.
إذا مررنا اسم البرنامج إلى journalctl
سيقوم بالبحث في ملفات السجل عن الإدخالات التي تحتوي على مراجع لهذا البرنامج. لأنه sudo
هو ملف ثنائي يقع في “/usr/bin/sudo” ويمكننا تمريره إلى journactl
. ال -e
يخبرك خيار (نهاية النداء) journalctl
لفتح ملف الاستدعاء الافتراضي. عادةً ما يكون هذا less
يتم تمرير الشاشة تلقائيًا إلى الأسفل لإظهار أحدث الإدخالات.
sudo journalctl -e /usr/bin/sudo
إدخالات السجل التي تتميز sudo
مدرجة في أقل.
استخدم مفتاح “RightArrow” للتمرير إلى اليمين لرؤية الأمر الذي تم استخدامه مع كل استدعاء من استدعاءات sudo
(أو قم بتوسيع نافذة المحطة الخاصة بك بحيث تصبح أوسع.)
ولأن الناتج يتم عرضه في less
يمكنك البحث عن نص مثل أسماء الأوامر وأسماء المستخدمين وطوابع الوقت.
استخدام أداة سجلات GNOME
تتضمن بيئات سطح المكتب الرسومية عادةً وسيلة لمراجعة السجلات. سنلقي نظرة على أداة سجلات GNOME. للوصول إلى أداة السجلات، اضغط على مفتاح “Super” الموجود على يسار “مسطرة المسافة”.
اكتب “سجلات” في حقل البحث، ستظهر أيقونة “سجلات”.
انقر على الرمز لتشغيل تطبيق “السجلات”.
سيؤدي النقر على الفئات في الشريط الجانبي إلى تصفية رسائل السجل حسب نوع الرسالة. لإجراء اختيارات أكثر تفصيلاً، انقر على فئة “الكل” في الشريط الجانبي، ثم انقر على أيقونة العدسة المكبرة في شريط الأدوات. أدخل نص بحث. سنبحث عن “sudo”.
يتم تصفية قائمة الأحداث لعرض الأحداث المتعلقة فقط sudo
تحتوي كتلة رمادية صغيرة في نهاية كل سطر على عدد الإدخالات في جلسة الحدث تلك. انقر فوق سطر لتوسيعه.
لقد قمنا بالنقر على السطر العلوي لرؤية تفاصيل الـ 24 إدخالاً في تلك الجلسة.
مع القليل من التمرير، يمكننا رؤية نفس الأحداث التي رأيناها عندما استخدمنا journalctl
الأمر. المستخدم mary
جلسة تحرير غير مفسرة على fstab
تم العثور على الملف بسرعة. كان بإمكاننا البحث عن “ماري”، لكن هذا سيتضمن إدخالات أخرى غير استخدامها لـ sudo
.
ليس كل شخص يحتاج إلى الوصول إلى الجذر
حيثما كان هناك متطلب حقيقي ومعقول، فإن العطاء sudo
إن منح الامتيازات للمستخدمين الآخرين أمر منطقي. وعلى نحو مماثل، فمن المنطقي التحقق من استخدامهم لهذه الصلاحيات أو إساءة استخدامها، وخاصة بعد منحها لهم.