rexec(3)

الاسم
rexec, rexec_af - إرجاع دفق إلى أمر بعيد

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <netdb.h>

[[deprecated]]
int rexec(char **restrict ahost, int inport,
          const char *restrict user, const char *restrict passwd,
          const char *restrict cmd, int *restrict fd2p);

[[deprecated]]
int rexec_af(char **restrict ahost, int inport,
          const char *restrict user, const char *restrict passwd,
          const char *restrict cmd, int *restrict fd2p,
          sa_family_t af);

rexec(), rexec_af():
    منذ glibc 2.19:
        _DEFAULT_SOURCE
    في glibc حتى 2.19 (بما في ذلك 2.19):
        _BSD_SOURCE

الوصف
هذه الواجهة أُهملت بواسطة rcmd(3).

الدالة rexec() تبحث عن المضيف *ahost باستخدام gethostbyname(3)، وتُعيد -1 إذا لم يوجد المضيف. وإلا، يُضبط *ahost على الاسم القياسي للمضيف. إذا حُدد كل من اسم المستخدم وكلمة السر، فتُستخدم هذه للاستيثاق إلى المضيف الخارجي؛ وإلا، يُبحث في البيئة ثم في ملف .netrc في دليل المستخدم الرئيس عن المعلومات المناسبة. إذا فشل كل هذا، يُطلب من المستخدم المعلومات.

يُحدد المنفذ inport أي منفذ إنترنت DARPA معروف يُستخدم للاتصال؛ الاستدعاء getservbyname("exec", "tcp") (انظر getservent(3)) يُعيد مؤشرًا إلى بنية تحتوي على المنفذ الضروري. بروتوكول الاتصال موصوف بالتفصيل في rexecd(8).

إذا نجح الاتصال، يُعاد مقبس في نطاق الإنترنت من النوع SOCK_STREAM إلى المستدعي، ويُعطى للأمر البعيد كـ stdin و stdout. إذا كان fd2p غير صفري، فتُنشأ قناة مساعدة لعملية تحكم، ويُوضع واصف ملف لها في *fd2p. تُعيد عملية التحكم المخرجات التشخيصية من الأمر (الوحدة 2) على هذه القناة، وتقبل أيضًا البايتات على هذه القناة كأرقام إشارات UNIX، لتُمرر إلى مجموعة عملية الأمر. المعلومات التشخيصية المُعادة لا تتضمن فشل التفويض البعيد، لأن الاتصال الثانوي يُنشأ بعد التحقق من التفويض. إذا كان fd2p هو 0، فسيُجعل stderr (الوحدة 2 من الأمر البعيد) مماثلاً لـ stdout ولا يُوفر أي ترتيب لإرسال إشارات عشوائية إلى العملية البعيدة، على الرغم من أنك قد تستطيع جذب انتباهها باستخدام بيانات خارج النطاق.

  rexec_af()
تعمل الدالة rexec() عبر IPv4 (AF_INET). على النقيض، توفر الدالة rexec_af() معاملًا إضافيًا، af، يسمح للمستدعي باختيار البروتوكول. يمكن تحديد هذا المعامل كـ AF_INET أو AF_INET6 أو AF_UNSPEC (للسماح للتطبيق باختيار البروتوكول).

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
rexec(), rexec_af() | سلامة الخيوط | غير آمن لتعدد الخيوط (MT-Unsafe)

المعايير
لا شيء.

التاريخ

rexec()
    4.2BSD, BSD, Solaris.

rexec_af()
    glibc 2.2.

العلل
ترسل الدالة rexec() كلمة السر غير المُعمَّاة عبر الشبكة.

تُعتبر الخدمة الأساسية ثغرة أمنية كبيرة، وبالتالي، لا تُفعَّل في العديد من المواقع؛ انظر rexecd(8) للتوضيحات.

انظر أيضًا
rcmd(3), rexecd(8)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.