كيفية مراجعة استخدام sudo Command على نظام Linux
نشرت: 2022-08-24
يعطي الأمر sudo
للمستخدم المستخدم المتميز أو صلاحيات الجذر. لا شك أنك أعطيتهم خطاب "القوة العظمى تأتي المسؤولية الكبرى". إليك كيفية التحقق مما إذا كانوا قد استمعوا أم لا.
أمر sudo
الأمر sudo
هو اختصار لعبارة "مستخدم بديل". يسمح للشخص المرخص له بتنفيذ أمر كما لو كان مستخدمًا آخر. يمكن أن يأخذ معلمات سطر الأوامر ، أحدها هو اسم المستخدم الذي ترغب في تنفيذ الأمر به. الطريقة الأكثر شيوعًا لاستخدام sudo
هي حذف خيارات سطر الأوامر واستخدام الإجراء الافتراضي. هذا ينفذ الأمر بشكل فعال كمستخدم جذر.
لاستخدام sudo
بهذه الطريقة يتطلب إذنًا خاصًا. فقط أصحاب الامتيازات يمكنهم استخدام sudo
. عند تثبيت توزيعة Linux حديثة ، ستتم مطالبتك بإعداد كلمة مرور جذر يمكنك استخدامها مع sudo
. يتم منح إذن للقيام بذلك للمستخدم العادي الذي تقوم بإنشائه أثناء التثبيت. هذه هي الطريقة المفضلة للتعامل مع الوصول إلى قدرات المستخدم الجذر. كانت الطريقة القديمة هي إنشاء مستخدم جذر وتسجيل الدخول باسمهم من أجل إدارة نظامك.
كان هذا سيناريو خطير. كان من السهل أن تنسى - أو تكون كسولًا جدًا - تسجيل الخروج والعودة كمستخدم عادي عندما لم تعد بحاجة إلى امتيازات الجذر. سيتم تنفيذ أي أخطاء ارتكبتها في النافذة الطرفية كجذر ، بغض النظر عن مدى خطورة ذلك. الأشياء التي سيتم حظرها بواسطة الصدفة إذا حاول المستخدم العادي القيام بها ستعمل دون سؤال عندما يطلبها الجذر. يعد استخدام حساب الجذر بدلاً من الحساب العادي مخاطرة أمنية أيضًا.
استخدام 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
يتم فتح ملف السجل ، ويمكنك التمرير خلال الملف أو استخدام تسهيلات البحث المضمنة في أقل للبحث عن "sudo".
حتى باستخدام تسهيلات البحث less
، قد يستغرق الأمر بعض الوقت لتحديد إدخالات sudo
التي تهتم بها.
لنفترض أننا نريد أن نرى ما استخدمه مستخدم يُدعى mary
sudo
. يمكننا البحث في ملف السجل باستخدام grep
عن الأسطر التي تحتوي على "sudo" ، ثم توجيه الإخراج عبر grep
مرة أخرى والبحث عن الأسطر التي تحتوي على كلمة "mary" فيها.
لاحظ sudo
قبل grep وقبل اسم ملف السجل.
sudo grep sudo /var/log/auth.log | grep "ماري"

هذا يعطينا السطور التي تحتوي على "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
يتم سرد إدخالات السجل التي تحتوي على sudo
في أقل.
استخدم مفتاح "RightArrow" للتمرير إلى اليمين لرؤية الأمر الذي تم استخدامه مع كل استدعاءات sudo
. (أو قم بتمديد النافذة الطرفية الخاصة بك بحيث تكون أوسع.)
ونظرًا لأن الإخراج يتم عرضه بكميات less
، يمكنك البحث عن نص مثل أسماء الأوامر وأسماء المستخدمين والطوابع الزمنية.
ذات صلة: كيفية استخدام journalctl لقراءة سجلات نظام Linux
استخدام الأداة المساعدة لسجلات جنوم
عادةً ما تتضمن بيئات سطح المكتب الرسومية وسيلة لمراجعة السجلات. سننظر في الأداة المساعدة لسجلات جنوم. للوصول إلى الأداة المساعدة للسجلات ، اضغط على مفتاح "Super" الموجود على يسار "مفتاح المسافة".
اكتب "السجلات" في حقل البحث. تظهر أيقونة "السجلات".
انقر فوق الرمز لبدء تشغيل تطبيق "Logs".
سيؤدي النقر فوق الفئات في الشريط الجانبي إلى تصفية رسائل السجل حسب نوع الرسالة. لإجراء تحديدات أكثر دقة ، انقر على فئة "الكل" في الشريط الجانبي ، ثم انقر على رمز العدسة المكبرة في شريط الأدوات. أدخل بعض نص البحث. سنبحث عن "sudo".
يتم تصفية قائمة الأحداث لعرض الأحداث التي تتعلق فقط بأمر sudo
. تحتوي كتلة رمادية صغيرة في نهاية كل سطر على عدد الإدخالات في جلسة الحدث هذه. انقر فوق خط لتوسيعه.
نقرنا على السطر العلوي لرؤية تفاصيل الإدخالات الـ 24 في تلك الجلسة.
مع القليل من التمرير ، يمكننا رؤية الأحداث نفسها التي رأيناها عندما استخدمنا الأمر journalctl
. تم العثور على جلسة التحرير غير المبررة للمستخدم mary
على ملف fstab
بسرعة. كان بإمكاننا البحث عن "ماري" ، لكن هذا قد يتضمن إدخالات أخرى غير استخدامها لـ sudo
.
لا يحتاج الجميع إلى الوصول إلى الجذر
عندما يكون هناك متطلبات حقيقية ومعقولة ، فإن منح امتيازات sudo
للمستخدمين الآخرين يمكن أن يكون منطقيًا. وبالمثل ، من المنطقي فقط التحقق من استخدامهم - أو إساءة استخدامهم - لهذه الصلاحيات ، خاصة بعد إعطائهم هذه الصلاحيات مباشرة.