نحوه ایجاد سرور FTP در لینوکس

انتقال فایل ها به شبکه به واسطه یک سرور FTP به درستی پیکربندی شده انجام می شود. این پروتکل با استفاده از معماری سرویس گیرنده TCP کار می کند و از ارتباطات مختلف شبکه برای اطمینان از انتقال دستورات بین گره های متصل استفاده می کند. کاربرانی که به یک شرکت میزبان خاص متصل هستند با نیاز به تنظیم یک سرور FTP شخصی مطابق با الزامات شرکتی که خدمات تعمیر و نگهداری سایت یا سایر نرم افزارها را فراهم می کند مواجه می شوند. بعد، ما نشان خواهیم داد که چگونه چنین سرور را در لینوکس با استفاده از مثال یکی از سرویس ها ایجاد کنیم.

یک سرور FTP را در لینوکس ایجاد کنید

امروز ما از یک ابزار به نام VSftpd استفاده خواهیم کرد. مزایای چنین سرور FTP این است که به طور پیش فرض بر روی بسیاری از سیستم عاملها اجرا می شود، مخازن رسمی توزیع های مختلف لینوکس را حفظ می کند و برای عملیات مناسب پیکربندی بسیار آسان است. به هر حال، این FTP خاص به طور رسمی در هسته لینوکس استفاده می شود، و بسیاری از شرکت های میزبانی توصیه نصب VSftpd. بنابراین، اجازه دهید توجه به فرایند گام به گام نصب و پیکربندی اجزای لازم را داشته باشیم.

مرحله 1: VSftpd را نصب کنید

به طور پیش فرض، تمام کتابخانه های مورد نیاز VSftpd در توزیع ها در دسترس نیستند، بنابراین باید از طریق کنسول دستی دانلود شوند. این به شرح زیر است:

  1. "ترمینال" را با هر روش مناسب باز کنید، به عنوان مثال، از طریق منو.
  2. انتقال به تعامل کنسول در سیستم عامل لینوکس

  3. دارندگان نسخههای دبیان یا اوبونتو باید دستور sudo apt-get install vsftpd . CentOS، Fedora - yum install vsftpd ، و برای Gentoo - emerge vsftpd . پس از معرفی، دکمه Enter را فشار دهید تا فرآیند نصب آغاز شود.
  4. فرمان برای نصب VSftpd در سیستم عامل لینوکس

  5. تأیید کنید که با مشخص کردن گذرواژه مناسب، با حساب خود حق برخورداری دارید.
  6. ورود به گذرواژه برای نصب VSftpd در سیستم عامل لینوکس

  7. صبر کنید تا فایل های جدید به سیستم اضافه شوند.
  8. روش برای اضافه کردن فایل های VSftpd در سیستم عامل لینوکس

ما توجه صاحبان CentOS را جلب می کنیم، که از یک میزبان مجازی اختصاصی استفاده می کنند. شما نیاز دارید که ماژول هسته سیستم عامل را به روز کنید، زیرا بدون این روش خطای بحرانی در هنگام نصب ظاهر می شود. به صورت متوالی دستورات زیر را وارد کنید:

yum update
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum install yum-plugin-fastestmirror
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-devel-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-doc-3.15.6-1.el7.elrepo.noarch.rpm
yum install kernel-ml-doc-3.15.6-1.el7.elrepo.noarch.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-headers-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-headers-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-libs-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-libs-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-libs-devel-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-libs-devel-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum install perf-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/python-perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum install python-perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum --enablerepo=elrepo-kernel install kernel-ml

پس از پایان این همه روش، فایل پیکربندی / boot / grub / grub.conf را در هر راه مناسب اجرا کنید. محتویات آن را اصلاح کنید تا پارامترهای زیر دارای مقادیر مناسب باشند:

default=0
timeout=5
title vmlinuz-4.0.4-1.el7.elrepo.x86_64
root (hd0,0)
kernel /boot/vmlinuz-4.0.4-1.el7.elrepo.x86_64 console=hvc0 xencons=tty0 root=/dev/xvda1 ro
initrd /boot/initramfs-4.0.4-1.el7.elrepo.x86_64.img

سپس شما فقط باید سرور اختصاصی را مجددا راه اندازی کنید و به نصب فوری سرور FTP بر روی کامپیوتر ادامه دهید.

مرحله 2: تنظیم اولیه سرور FTP

همراه با این برنامه، فایل پیکربندی آن بر روی کامپیوتر بارگذاری شد، که از آن می توان سرور FTP را اجرا کرد. تمام تنظیمات به طور جداگانه بر اساس توصیه های میزبانی یا تنظیمات خود انجام می شود. ما فقط می توانیم نشان دهیم که چگونه این فایل باز می شود و چه پارامتری باید توجه شود.

  1. در سیستم عامل های دبیان یا اوبونتو، فایل پیکربندی مانند زیر است: sudo nano /etc/vsftpd.conf . در CentOS و فدورا، در مسیر /etc/vsftpd/vsftpd.conf دارد و در /etc/vsftpd/vsftpd.conf در Gentoo قرار دارد.
  2. فایل پیکربندی VSftpd را در سیستم عامل لینوکس اجرا کنید

  3. فایل خود را در کنسول یا ویرایشگر متن نمایش داده می شود. در اینجا به نکات زیر توجه کنید. آنها باید در پرونده پیکربندی شما یکسان باشند.

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    chroot_local_user=YES

  4. بقیه ویرایش خود را انجام دهید، و سپس فراموش نکنید که تغییرات را ذخیره کنید.
  5. فایل پیکربندی VSftpd را در سیستم عامل لینوکس ذخیره کنید

مرحله 3: اضافه کردن یک کاربر پیشرفته

اگر قصد دارید با یک سرور FTP از طریق حساب اصلی خود کار کنید یا مایل به دسترسی به دیگر کاربران باشد، پروفایل های ایجاد شده باید دارای حقوق کاربر فوق العاده باشند تا هنگام دسترسی به ابزار VSftpd هیچ خطایی در دسترسی وجود داشته باشد.

  1. شروع "Terminal" و دستور sudo adduser user1 وارد کنید، که user1 نام حساب جدید است.
  2. ایجاد یک کاربر جدید از طریق ترمینال در لینوکس

  3. رمز عبور را برای آن تنظیم کنید و سپس آن را تایید کنید. علاوه بر این، ما به شدت توصیه میکنیم که پوشه اصلی حساب را به یاد داشته باشید، در آینده ممکن است لازم باشد از طریق کنسول به آن دسترسی داشته باشید.
  4. رمز عبور را برای کاربر جدید در سیستم عامل لینوکس وارد کنید

  5. در صورت لزوم، اطلاعات اصلی را پر کنید - نام کامل، شماره اتاق، شماره تلفن و سایر اطلاعات، در صورت لزوم.
  6. اطلاعات اضافی از کاربر جدید در لینوکس

  7. پس از آن، با وارد کردن دستور sudo adduser user1 sudo ، کاربر را از حقوق خود بسط دهید.
  8. اعطای مجوز کاربر جدید لینوکس

  9. برای کاربر یک پوشه جداگانه برای ذخیره فایل های خود را از طریق sudo mkdir /home/user1/files .
  10. یک پوشه اصلی برای یک کاربر در لینوکس ایجاد کنید

  11. بعد، از طریق cd /home خانه به پوشه cd /home و کاربر جدید را مالک دایرکتوری خود را با وارد کردن chown root:root /home/user1 .
  12. مالکیت را برای پوشه کاربر جدید در لینوکس تنظیم کنید

  13. بعد از اینکه همه تغییرات در sudo service vsftpd restart ، سرور را sudo service vsftpd restart . فقط در توزیع Gentoo، این ابزار از طریق /etc/init.d/vsftpd restart .
  14. راه اندازی مجدد سرور FTP از طریق کنسول در لینوکس

حالا شما می توانید تمام اقدامات لازم را در سرور FTP از طرف یک کاربر جدید که دارای حقوق دسترسی است را انجام دهید.

مرحله 4: راه اندازی فایروال (فقط اوبونتو)

کاربران توزیع های دیگر می توانند با خیال راحت این مرحله را از حالت فشرده خارج کنند، زیرا پیکربندی پورت دیگر در هیچ جا و فقط در اوبونتو مورد نیاز نیست. به طور پیش فرض، فایروال پیکربندی شده است به طوری که در ترافیک ورودی از آدرس هایی که نیاز داریم اجازه نمی دهد، بنابراین ما باید مجوز آن را به صورت دستی اجازه دهیم.

  1. در کنسول، sudo ufw disable و sudo ufw enable تا یک بار برای راه اندازی مجدد فایروال.
  2. فایروال را در سیستم عامل اوبونتو راه اندازی مجدد کنید

  3. با استفاده از sudo ufw allow 20/tcp و sudo ufw allow 21/tcp .
  4. قوانین جدید را به فایروال در سیستم عامل اوبونتو اضافه کنید

  5. بررسی کنید که آیا قوانین وارد شده توسط مشاهده sudo ufw status فایروال sudo ufw status اعمال می شود.
  6. وضعیت دیوار آتش را در سیستم عامل اوبونتو بررسی کنید

به طور جداگانه، می خواهم چند دستور مفید را ذکر کنم:

  • /etc/init.d/vsftpd start یا service vsftpd start - تجزیه و تحلیل فایل پیکربندی؛
  • netstat -tanp | grep LISTEN netstat -tanp | grep LISTEN - اعتبار نصب سرور FTP؛
  • man vsftpd - با اسناد رسمی VSftpd تماس بگیرید تا اطلاعات لازم در مورد عملکرد این ابزار را پیدا کنید.
  • service vsftpd restart یا service vsftpd restart /etc/init.d/vsftpd restart - سرور را راه اندازی مجدد کنید.

با توجه به دسترسی به سرور FTP و ادامه کار با آن، برای نمایندگان میزبانی وب خود برای دریافت این اطلاعات تماس بگیرید. از آنها شما قادر خواهید بود اطلاعاتی در مورد ظرافت های تنظیم و ظهور انواع خطاها را روشن کنید.

این مقاله به پایان می رسد امروز ما روش نصب سرور VSftpd را بدون در نظر گرفتن هر شرکت میزبانی مورد بررسی قرار دادیم، بنابراین در هنگام اجرای دستورالعمل ها و مقایسه آن ها با آنچه که توسط شرکت ارائه دهنده سرور مجازی شما ارائه می شود، این را در نظر داشته باشید. علاوه بر این، ما به شما توصیه می کنیم خود را با مواد دیگر خود آشنا کنید، که با موضوع نصب LAMP مرتبط است.

همچنین ببینید: نصب ابزار LAMP در اوبونتو