تتم إعادة كتابة اثنين من أكثر الأدوات الأساسية في سطر الأوامر الحديث الشبيه بنظام يونكس ، وهما sudo و su ، في اللغة الحديثة Rust كجزء من جهد أوسع لاستبدال قطع البنية التحتية المهمة ولكن القديمة بنظيرات آمنة للذاكرة.
كما هو مفصل في Prossimo ، يقوم فريق مشترك من Ferrous Systems و Tweede Golf ، بدعم من Amazon Web Services ، بإعادة تنفيذ sudo و su. تسمح هذه الأدوات المساعدة للمستخدم بتنفيذ إجراءات بامتيازات مستخدم آخر (عادةً ما يكون مستخدمًا متميزًا من مستوى أعلى) دون الحاجة إلى التعلم وإدخال كلمة مرور هذا المستخدم الآخر. نظرًا لعمرهم واستخدامهم الواسع ، يعتقد فريق Prossimo أن الوقت قد حان لإعادة العمل.
كتب جوش آس: “تم تطوير سودو لأول مرة في الثمانينيات. وعلى مدى العقود ، أصبح أداة أساسية لإجراء التغييرات مع تقليل المخاطر على نظام التشغيل إلى الحد الأدنى”. “ولكن نظرًا لأنه مكتوب بلغة C ، فقد واجه sudo العديد من نقاط الضعف المتعلقة بقضايا أمان الذاكرة.”
الأمر sudo يناسب معايير مشاريع Prossimo لإعادة التنفيذ “بشكل مباشر”. يتم استخدامه على كل خادم وعميل تقريبًا ، وهو على حدود حرجة ، ويؤدي وظيفة مهمة ، وهو مكتوب بلغات غير آمنة للذاكرة ، مثل C و asm. يتم نشر خطة عمل المشروع والمعالم الرئيسية ، ويمكنك تتبع العمل على GitHub.
تم تطوير Sudo في عام 1980 من قبل Robber Coggeshall و Cliff Spencer في جامعة ولاية نيويورك في بوفالو (go Bulls) على VAX-11/750 يعمل 4.1BSD. طورت Coggeshall كذلك sudo في جامعة كولورادو بولدر. تم الإعلان عن الأداة في النهاية وصيانتها بواسطة Todd C. Miller. كان الأمر su جزءًا من الإصدار 1 Unix.
إن الجهد الممول جيدًا لإعادة تنفيذ جانب أساسي من الأنظمة الشبيهة بـ Unix ، حتى في لغة تحظى بتقدير جيد مثل Rust ، هو أمر مضمون تقريبًا لإثارة المجتمع. بينما تم تطويره على مدار عقود وتطبيقه في كل نظام تقريبًا ، فإن أمر sudo لا يخلو من العيوب. كانت بعض إصدارات sudo عرضة لخلل في تجاوز سعة المخزن المؤقت الذي يوفر الجذر ، كما ورد في عام 2019. ومرة أخرى ، لا تظهر غالبية ثغرات sudo ذات الصلة بالذاكرة (اعتمادًا على تعريف الفرد) ؛ يمكن للمرء بالتأكيد ترميز أخطاء جديدة في برنامج مكتوب بلغة آمنة للذاكرة.
لا تشرح صفحة معالم مجموعة Prossimo كيف سيتم الترويج لاعتماد sudo و su على نطاق أوسع. إنه رهان جيد أن الجهد قد يتطلب نفس القدر من الجهد الذي تتطلبه إعادة الكتابة نفسها.
قائمة الصورة بواسطة Cavan Images / Getty