سؤال

أحاول إنشاء خادم التلنت باستخدام بيثون على أوبونتو 12.04.لكي أتمكن من تنفيذ الأوامر كمستخدم مختلف ، أحتاج إلى استخدام su الأمر ، الذي يطالب بعد ذلك بكلمة المرور.الآن ، وأنا أعلم أن يتم إرسال موجه إلى تيار ستدير ، ولكن ليس لدي أي فكرة التي تيار أنا من المفترض أن ترسل كلمة المرور إلى.إذا حاولت إرسالها عبر ستدين ، أحصل على الخطأ: su: must be run from a terminal.كيف يمكنني المضي قدما?

هل كانت مفيدة؟

المحلول

إذا كنت تريد حقا استخدام النظام su البرنامج ، وسوف تحتاج إلى إنشاء زوج المحطة الطرفية ، انظر man 7 pty, ، في بايثون هذا pty.openpty استدعاء أن يعود لك زوج من واصفات الملف ، واحد بالنسبة لك واحد ل سو.ثم لديك لشوكة ، في عملية الطفل تغيير ستدين / خارج / يخطئ إلى الرقيق فد و إكسيك سو.في عملية الأصل تقوم بإرسال البيانات إلى واستقبال البيانات من ماستر فد.نواة لينكس يربط هؤلاء معا.

بدلا من ذلك ربما يمكنك محاكاة su في حين أن?

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top