كيفية مراجعة استخدام أمر sudo على Linux

ال sudo يمنح الأمر المستخدم صلاحيات المستخدم الفائق أو الجذر. لا شك أنك وجهت إليهم خطاب “مع القوة العظيمة تأتي المسؤولية العظيمة”. إليك كيفية التحقق مما إذا كانوا يستمعون أم لا.




الأمر sudo

ال sudo تعني كلمة “command” “استبدال المستخدم”. وهي تتيح للشخص المصرح له تنفيذ أمر كما لو كان مستخدمًا آخر. ويمكن أن يأخذ معلمات سطر الأوامر، أحدها اسم المستخدم الذي ترغب في تنفيذ الأمر باسمه. الطريقة الأكثر شيوعًا هي: sudo الطريقة المستخدمة هي حذف خيارات سطر الأوامر واستخدام الإجراء الافتراضي. وهذا ينفذ الأمر فعليًا كمستخدم الجذر.

ذات صلة: كيفية إضافة مستخدم إلى ملف sudoers في Linux

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


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

ذات صلة: كيفية التحكم في الوصول إلى sudo على Linux

استخدام 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


النظر إلى ملف /var/log/auth.log مع أقل

يتم فتح ملف السجل، ويمكنك التمرير خلال الملف أو استخدام مرافق البحث المضمنة في less للبحث عن “sudo”.

يتم عرض محتويات ملف /var/log/auth.log في أقل من

حتى باستخدام مرافق البحث الخاصة بـ lessقد يستغرق الأمر بعض الوقت لتحديد موقع sudo الإدخالات التي تهمك.

لنفترض أننا نريد أن نرى ما يسمى به المستخدم mary لقد استخدم sudo يمكننا البحث في ملف السجل باستخدام grep للأسطر التي تحتوي على “sudo” فيها، ثم قم بتوجيه الإخراج من خلال grep مرة أخرى وابحث عن الخطوط التي تحتوي على كلمة “ماري” فيها.

لاحظ sudo قبل grep وقبل اسم ملف السجل.


sudo grep sudo /var/log/auth.log | grep "mary"

استخدام grep لتصفية الإدخالات التي تذكر mary وsudo

هذا يعطينا أسطر تحتوي على “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

استخدام journalctl للبحث عن الإدخالات التي تذكر sudo

إدخالات السجل التي تتميز sudo مدرجة في أقل.

journalctl يعرض الإدخالات التي تحتوي على sudo في عارض الملفات less

استخدم مفتاح “RightArrow” للتمرير إلى اليمين لرؤية الأمر الذي تم استخدامه مع كل استدعاء من استدعاءات sudo(أو قم بتوسيع نافذة المحطة الخاصة بك بحيث تصبح أوسع.)

التمرير جانبيًا لرؤية الأوامر التي تم استخدامها مع sudo


ولأن الناتج يتم عرضه في lessيمكنك البحث عن نص مثل أسماء الأوامر وأسماء المستخدمين وطوابع الوقت.

ذات صلة: كيفية استخدام journalctl لقراءة سجلات نظام Linux

استخدام أداة سجلات GNOME

تتضمن بيئات سطح المكتب الرسومية عادةً وسيلة لمراجعة السجلات. سنلقي نظرة على أداة سجلات GNOME. للوصول إلى أداة السجلات، اضغط على مفتاح “Super” الموجود على يسار “مسطرة المسافة”.

اكتب “سجلات” في حقل البحث، ستظهر أيقونة “سجلات”.

أيقونة سجلات GNOME

انقر على الرمز لتشغيل تطبيق “السجلات”.

تطبيق سجلات GNOME


سيؤدي النقر على الفئات في الشريط الجانبي إلى تصفية رسائل السجل حسب نوع الرسالة. لإجراء اختيارات أكثر تفصيلاً، انقر على فئة “الكل” في الشريط الجانبي، ثم انقر على أيقونة العدسة المكبرة في شريط الأدوات. أدخل نص بحث. سنبحث عن “sudo”.

البحث عن الإدخالات التي تحتوي على sudo في تطبيق GNOME Logs

يتم تصفية قائمة الأحداث لعرض الأحداث المتعلقة فقط sudo تحتوي كتلة رمادية صغيرة في نهاية كل سطر على عدد الإدخالات في جلسة الحدث تلك. انقر فوق سطر لتوسيعه.

النظر إلى ملف /var/log/auth.log مع أقل


لقد قمنا بالنقر على السطر العلوي لرؤية تفاصيل الـ 24 إدخالاً في تلك الجلسة.

النظر إلى ملف /var/log/auth.log مع أقل

مع القليل من التمرير، يمكننا رؤية نفس الأحداث التي رأيناها عندما استخدمنا journalctl الأمر. المستخدم maryجلسة تحرير غير مفسرة على fstab تم العثور على الملف بسرعة. كان بإمكاننا البحث عن “ماري”، لكن هذا سيتضمن إدخالات أخرى غير استخدامها لـ sudo.

ليس كل شخص يحتاج إلى الوصول إلى الجذر

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

أضف تعليق