ftpd(8)

الاسم
ftpd - خادم بروتوكول نقل الملفات عبر الإنترنت

موجز
ftpd [option ...]

الوصف
ftpd هو عملية خادم بروتوكول نقل الملفات عبر الإنترنت. يستخدم الخادم بروتوكول TCP ويستمع إلى المنفذ المحدد في مواصفات الخدمة “ftp” ؛ انظر services(5).

الخيارات

-4, --ipv4
    تقييد البرنامج الخفي للاستماع إلى عناوين IPv4 فقط.

-6, --ipv6
    تقييد البرنامج الخفي للاستماع إلى عناوين IPv6 فقط.

-d, --debug
    تُكتب معلومات التصحيح إلى سجل النظام باستخدام LOG_FTP.

-l, --تسجيل
    تُسجل كل جلسة ftp(1) ناجحة وفاشلة باستخدام سجل النظام مع تسهيل LOG_FTP. إذا حُدد هذا الخيار مرتين، تُسجل أيضًا عمليات الاسترجاع (get)، والتخزين (put)، والإلحاق، والحذف، وإنشاء الدليل، وإزالة الدليل، وإعادة التسمية ووسائط أسماء ملفاتها.

-A, --anonymous-only
    يُسمح فقط بتسجيل الدخول المجهول.

-D, --daemon
    يدخل ftpd وضع البرنامج الخفي. يسمح ذلك بتشغيل ftpd بدون inetd.

-q, --no-version
    الوضع الصامت. لا تُعطى معلومات حول إصدار ftpd للعميل.

-T, --max-timeout timeout
    قد يطلب العميل أيضًا فترة مهلة مختلفة؛ يمكن ضبط الحد الأقصى المسموح به إلى timeout ثانية باستخدام الخيار -T. الحد المبدئي هو ساعتان.

-t, --timeout timeout
    تُضبط فترة مهلة عدم النشاط إلى timeout ثانية (المبدئي هو 15 دقيقة).

-p, --pidfile pidfile
    تغيير الموقع المبدئي لملف pidfile.

-a, --auth auth
    أعطِ المستخدم المجهول اسم تسجيل دخول آخر login-name (سيظل المستخدم المجهول و ftpd يعملان). يمكن أن يكون واحدًا من

    default
        استخدم الاستيثاق بكلمة المرور.

    pam استخدم خدمة PAM 'ftp'.

--non-rfc2577
    تجاهل RFC 2577 بإعطاء معلومات عن المستخدمين المفقودين.

-u, --umask value
    اضبط القناع المبدئي على value.

?, --help
    اعرض قائمة المساعدة.

--usage
    اعرض رسالة استخدام قصيرة.

-V, --version
    اعرض إصدار البرنامج.

العملية
يمكن استخدام الملف /etc/nologin لتعطيل الوصول إلى ftp. إذا كان الملف موجودًا، يعرضه ftpd ويخرج. إذا كان الملف /etc/ftpwelcome موجودًا، يطبعه ftpd قبل إصدار رسالة “ready”. إذا كان الملف /etc/motd موجودًا، يطبعه ftpd بعد تسجيل الدخول الناجح.

يدعم خادم ftp حاليًا طلبات ftp التالية. يتم تجاهل حالة الأحرف للطلبات.
الطلب | الوصف
ABOR | إحباط الأمر السابق
ACCT | تحديد الحساب (مُتجاهَل)
ALLO | تخصيص تخزين (بشكل فارغ)
APPE | إلحاق بملف
CDUP | التغيير إلى الدليل الأب لدليل العمل الحالي
CWD | تغيير دليل العمل
DELE | حذف ملف
EPRT | منفذ اتصال بيانات موسع، RFC 2428
EPSV | طلب نقل سلبي موسع، RFC 2428
FEAT | عرض امتدادات الأوامر
HELP | تقديم معلومات المساعدة
LIST | عرض قائمة الملفات في دليل (“ls -lgA”)
LPRT | منفذ اتصال بيانات طويل، RFC 1639
LPSV | طلب نقل سلبي طويل، RFC 1639
MKD | إنشاء دليل
MDTM | إظهار وقت آخر تعديل للملف
MODE | تحديد وضع نقل البيانات mode
NLST | إعطاء قائمة بأسماء الملفات في الدليل
NOOP | لا تفعل شيئًا
OPTS | إعدادات الخيارات
PASS | تحديد كلمة المرور
PASV | التحضير لنقل من خادم إلى خادم
PORT | تحديد منفذ اتصال البيانات
PWD | طباعة دليل العمل الحالي
QUIT | إنهاء الجلسة
REST | إعادة تشغيل النقل غير المكتمل
RETR | استرداد ملف
RMD | إزالة دليل
RNFR | تحديد اسم الملف المراد إعادة تسميته منه
RNTO | تحديد اسم ملف إعادة التسمية
SITE | أوامر غير قياسية (انظر القسم التالي)
SIZE | إرجاع حجم الملف
STAT | إرجاع حالة الخادم
STOR | تخزين ملف
STOU | تخزين ملف باسم فريد
STRU | تحديد بنية نقل البيانات
SYST | عرض نوع نظام تشغيل الخادم
TYPE | تحديد نوع نقل البيانات
USER | تحديد اسم المستخدم
XCUP | الانتقال إلى الدليل الأب لدليل العمل الحالي (مهمل)
XCWD | تغيير دليل العمل (مهمل)
XMKD | إنشاء دليل (مهمل)
XPWD | طباعة دليل العمل الحالي (مهمل)
XRMD | إزالة دليل (مهمل)

الأوامر التالية غير القياسية أو الخاصة بـ UNIX مدعومة بواسطة طلب SITE.

الطلب | الوصف
UMASK | تغيير umask، مثال: SITE UMASK 002
IDLE | ضبط مؤقت الخمول، مثال: SITE IDLE 60
CHMOD | تغيير وضع ملف، مثال: SITE CHMOD 755 filename
HELP لعرض معلومات المساعدة.

يتم التعرف على طلبات ftp المتبقية المحددة في RFC 959 للإنترنت، ولكنها غير منفذة. لم يتم تحديد MDTM و SIZE في RFC 959، ولكنها ستظهر في تحديث RFC القادم لـ FTP.

سيقوم خادم ftp بإحباط نقل ملف نشط فقط عندما يسبق أمر ABOR إشارة Telnet "مقاطعة العملية" (IP) وإشارة Telnet "مزامنة" في تيار أوامر Telnet، كما هو موصوف في RFC 959 للإنترنت. إذا تم استلام أمر STAT أثناء نقل البيانات، مسبوقًا بإشارة Telnet IP ومزامنة، فسيتم إرجاع حالة النقل.

يفسر ftpd أسماء الملفات وفقًا لاتفاقيات “التوسيع الشامل” المستخدمة بواسطة csh(1). يسمح هذا للمستخدمين باستخدام الرموز الوصفية “*?[]{}~”.

يستوثق ftpd من المستخدمين وفقًا لثلاث قواعد.

1.  يجب أن يكون اسم تسجيل الدخول في قاعدة بيانات كلمات المرور، /etc/passwd ، وألا يكون له كلمة مرور فارغة. في هذه الحالة، يجب على العميل توفير كلمة مرور قبل أن يتم تنفيذ أي عمليات ملف.

2.  يجب ألا يظهر اسم تسجيل الدخول في الملف /etc/ftpusers.

3.  يجب أن يكون لدى المستخدم شل قياسي يتم إرجاعه بواسطة getusershell(3).

4.  إذا كان اسم المستخدم هو “anonymous” أو “ftp” ، فيجب أن يكون حساب ftp مجهول موجودًا في ملف كلمة المرور (المستخدم “ftp”). في هذه الحالة، يُسمح للمستخدم بتسجيل الدخول عن طريق تحديد أي كلمة مرور (حسب الاتفاقية، يجب استخدام عنوان بريد إلكتروني للمستخدم ككلمة مرور).

في الحالة الأخيرة، يتخذ ftpd إجراءات خاصة لتقييد صلاحيات وصول العميل. يقوم الخادم بإجراء chroot(2) إلى الدليل الرئيسي للمستخدم “ftp”. لضمان عدم اختراق أمان النظام، يُوصى ببناء الشجرة الفرعية “ftp” بعناية، باتباع هذه القواعد:

~ftp
    اجعل الدليل الرئيسي مملوكًا لـ “root” وغير قابل للكتابة من قبل أي شخص.

~ftp/bin
    اجعل هذا الدليل مملوكًا لـ “root” وغير قابل للكتابة من قبل أي شخص (الوضع 555). يجب أن يكون البرنامج ls(1) موجودًا لدعم أمر القائمة. يجب أن يكون هذا البرنامج بالوضع 111.

~ftp/etc
    اجعل هذا الدليل مملوكًا لـ “root” وغير قابل للكتابة من قبل أي شخص (الوضع 555). يجب أن تكون الملفات passwd(5) و group(5) موجودة لكي يتمكن أمر ls من إنتاج أسماء المالكين بدلاً من الأرقام. لا يُستخدم حقل كلمة المرور في passwd ، ويجب ألا يحتوي على كلمات مرور حقيقية. الملف motd ، إذا كان موجودًا، سيتم طباعته بعد تسجيل دخول ناجح. يجب أن تكون هذه الملفات بالوضع 444.

~ftp/pub
    اجعل هذا الدليل بالوضع 777 ومملوكًا لـ “ftp”. يمكن للضيوف بعد ذلك وضع الملفات التي يجب أن تكون قابلة للوصول عبر الحساب المجهول في هذا الدليل.

الملفات
/etc/ftpusers
    قائمة المستخدمين غير المرحب بهم/المقيدين.
/etc/ftpchroot
    قائمة المستخدمين لتغيير الجذر إلى دليلهم الرئيسي.
/etc/ftpwelcome
    إشعار الترحيب.
/etc/motd
    إشعار الترحيب بعد تسجيل الدخول.
/etc/nologin
    يتم عرضه ورفض الوصول.

انظر أيضًا
ftp(1), getusershell(3), syslogd(8)

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

التاريخ
ظهر الأمر ftpd في 4.2BSD.

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

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

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