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

نشرت: 2022-08-24
كمبيوتر محمول Linux يعرض موجه bash
fatmawati achmad zaenuri / Shutterstock.com

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

أمر sudo

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

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

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

كيفية التحكم في sudo Access على نظام Linux
ذات صلة كيفية التحكم في sudo Access على نظام Linux

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

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

فيما يلي عدة طرق لمراقبة استخدام الجذر.

ملف auth.log

تحتفظ بعض التوزيعات بسجل مصادقة ، في ملف يسمى "auth.log". مع ظهور وسرعة استيعاب systemd ، تمت إزالة الحاجة إلى ملف "auth.log". يدمج برنامج systemd-journal الخفي لسجلات النظام في تنسيق ثنائي جديد آنذاك ويوفر journalctl طريقة لك لفحص السجلات أو استجوابها.

إذا كان لديك ملف "auth.log" على كمبيوتر Linux الخاص بك ، فمن المحتمل أن يكون في دليل "/ var / log /" ، على الرغم من أن اسم الملف والمسار في بعض التوزيعات هما “/ var / log / Audit / Audit .سجل."

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

عمل هذا الأمر على Ubuntu 22.04.

 أقل /var/log/auth.log 

النظر في ملف /var/log/auth.log بأقل

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

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

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

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

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

 sudo grep sudo /var/log/auth.log | grep "ماري" 

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

هذا يعطينا السطور التي تحتوي على "sudo" و "ماري" فيها.

يمكننا أن نرى أن المستخدم mary حصل على صلاحيات sudo في الساعة 15:25 ، وفي الساعة 15:27 تقوم بفتح ملف fstab في محرر. هذا هو نوع النشاط الذي يتطلب بالتأكيد الغوص بشكل أعمق ، بدءًا من الدردشة مع المستخدم.

باستخدام Journalctl

الطريقة المفضلة في توزيعات Linux التي تستند إلى systmd هي استخدام الأمر journalctl لمراجعة سجلات النظام.

إذا مررنا اسم البرنامج إلى journalctl ، فسيتم البحث في ملفات السجل عن الإدخالات التي تحتوي على مراجع لهذا البرنامج. لأن sudo هو ثنائي موجود في “/ usr / bin / sudo” يمكننا تمرير ذلك إلى journactl . يقوم الخيار -e (pager end) بإخبار journalctl بفتح بيجر الملف الافتراضي. عادة سيكون هذا less . يتم تمرير الشاشة تلقائيًا إلى أسفل لإظهار أحدث الإدخالات.

 sudo journalctl -e / usr / bin / sudo 

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

يتم سرد إدخالات السجل التي تحتوي على sudo في أقل.

Journalctl تعرض الإدخالات التي تحتوي على sudo في عارض الملفات الأقل

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

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

ونظرًا لأن الإخراج يتم عرضه بكميات less ، يمكنك البحث عن نص مثل أسماء الأوامر وأسماء المستخدمين والطوابع الزمنية.

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

استخدام الأداة المساعدة لسجلات جنوم

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

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

انقر فوق الرمز لبدء تشغيل تطبيق "Logs".

تطبيق GNOME Logs

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

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

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

الكتلة الرمادية التي تحتوي على عدد الإدخالات في جلسة sudo

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

يتم عرض تفاصيل الأحداث في عرض موسع

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

لا يحتاج الجميع إلى الوصول إلى الجذر

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