شروحات الكمبيوتر والإنترنت والموبايل

إعداد SFTP على لينوكس مع دعم لعدة مستخدمين

تعد عملية إعداد SFTP (SSH File Transfer Protocol) على نظام Linux خطوة مهمة لضمان نقل الملفات بشكل آمن بين الأنظمة. في العديد من الحالات، قد يحتاج المستخدمون إلى الوصول إلى مجلدات معينة فقط، مما يتطلب تكوينًا خاصًا لكل مستخدم. في هذا المقال، سنناقش عملية إعداد SFTP مع عدة مستخدمين وكيفية ضبط إعدادات SSHD لتلبية احتياجات جميع المستخدمين.

إعداد بيئة SFTP على Linux

لنفترض أنك ترغب في إعداد خادم SFTP على نظام Linux لدعم مجموعة من المستخدمين. في هذا السيناريو، لديك هيكل مجلدات يشمل /var/home/outbound/ مع مجلدات فرعية لكل مستخدم مثل /var/home/outbound/user1 و/var/home/outbound/user2 و/var/home/outbound/user3. لقد قمت أيضًا بإنشاء مجموعة مستخدمين تسمى sftpusers وأضفت المستخدمين المحددين.

تكوين ملف SSHD

بدايةً، يجب عليك تحديث ملف التكوين sshd_config لضمان إعداد بيئة SFTP بشكل صحيح. على سبيل المثال، يمكنك إضافة التكوين التالي:

Match Group sftpusers
   ChrootDirectory /var/home/outbound
   ForceCommand internal-sftp
   PasswordAuthentication yes
   PermitTunnel no
   AllowAgentForwarding no
   AllowTcpForwarding no
   X11Forwarding no

يجب أن تتأكد من أن كل مجلد ضمن الدليل الجذري له الأذونات الصحيحة. فمثلاً، إذا كان لديك المستخدمين 1 و2 و3، فيجب أن يكون لكل مجلد منهم أذونات متوافقة مع متطلبات Chroot.

مشكلة الوضعية والملكية

غالبًا ما يواجه المستخدمون مشكلات مثل "ملكيات غير صحيحة أو أوضاع لدليل chroot" مثلما حدث في حالتك. هذه المشكلة تشير إلى أنه يجب أن تكون مجلدات Chroot مملوكة للمستخدم الجذر (root) ولا ينبغي أن تُعطى أذونات كتابة للمستخدمين العاديين.

إليك كيفية ضبط الأذونات:

  1. تأكد من أن دليل Chroot (/var/home/outbound) مملوك للمستخدم الجذر:

    chown root:root /var/home/outbound
  2. يجب أن تكون أذونات الدليل الجذري 755:

    chmod 755 /var/home/outbound
  3. بالنسبة لمجلدات المستخدمين، يمكنك تخصيص الملكية والمجموعات لضمان أن المستخدمين العاديين يمكنهم الوصول إلى مجلداتهم فقط:
    chown user1:sftpusers /var/home/outbound/user1
    chmod 700 /var/home/outbound/user1

كرر الخطوات أعلاه لكل مستخدم لتضمن أن تكون إعدادات الأذونات سليمة.

تجربة خيارات مختلفة

إذا قمت بتجربة خيارات مختلفة في ملف تكوين SSHD مثل:

Match Group sftpusers
   ChrootDirectory %h
   ForceCommand internal-sftp
   PasswordAuthentication yes
   PermitTunnel no
   AllowAgentForwarding no
   AllowTcpForwarding no
   X11Forwarding no

أو

Match Group sftpusers
   ChrootDirectory /var/home/outbound/%u
   ForceCommand internal-sftp
   PasswordAuthentication yes
   PermitTunnel no
   AllowAgentForwarding no
   AllowTcpForwarding no
   X11Forwarding no

ومع ذلك حصلت على نفس الخطأ، يُفترض أن تعود إلى إعدادات الصيغة الأولى. تأكد من صحة الملكية والأذونات في المجلدات المعنية.

الخلاصة

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

لنستمر في تعزيز الأمان والوصول المحدد لكل مستخدم عند إعداد SFTP على Linux!

فهد السلال

خبير تقني متخصص في شروحات الكمبيوتر والإنترنت والموبايل، يتمتع بخبرة واسعة في تقديم حلول تقنية مبتكرة ومبسطة. يهدف فهد إلى مساعدة المستخدمين على تحسين تجربتهم التقنية من خلال مقالات وأدلة عملية واضحة وسهلة الفهم.
زر الذهاب إلى الأعلى
Don`t copy text!