راه اندازی سرور FTP در CentOS 7 / 8 با VSFTPD

در مرکز محتوای سرور دات آی آر

در این مقاله قصد داریم نحوه ی راه اندازی و پیکربندی یک سرور FTP  را در سیستم عامل های CnetOS 7 / 8 به کمک سرویس VSFTPD را آموزش دهیم.

FTP مخفف File Transfer Protocol می باشد، یک پروتکل انتقال دیتا می باشد که از دهه ها پیش یک روش استاندارد برای انتقال دیتا بین دستگاه های مختلف بوده است.

در این آموزش قصد نصب سرویس VSFTPD در سرور را داریم (VSFTPD مخفف “Very Secure FTP Daemon software package”) می باشد. که یک سرویس مناسب و کاربردی برای ایجاد یک سرور FTP می باشد.

پیش نیازها :

  • ایجاد یک یوزر با دسترسی sudo
  • پکیج منیجر yum که به صورت پیش فرض نصب می باشد.
  • یک ویرایشگر متن به دلخواه که در این مقاله از ویرایشگر متن vi استفاده شده است.

 

قدم اول : راه اندازی FTP با نصب سرویس VSFTPD

  • در ابتدا با استفاده از دستور زیر اقدام به آپدیت پکیج ها و ریپازیتوری های سیستم عامل میکنیم تا با آخرین آپدیت ها در حال کار باشیم.

sudo yum update

  • برای نصب سرویس VSFTPD لازم است دستور زیر را در سرور اجرا نمایید:

sudo yum install vsftpd

 

  • پس از نصب با دو دستور زیر ابتدا سرویس VSFTPD را اجرا میکنیم و با دستور دوم تنظیم میکنیم که سرویس در هنگام boot سیستم عامل به صورت خودکار اجرا گردد:

sudo systemctl start vsftpd

sudo systemctl enable vsftpd

 

  • در قدم اخر نیاز است که پورت 21 که پورت پیش فرض سرویس FTP می باشد را در فایروال سرور خود allow نمایید که این مورد با توجه به نوع فایروال سرور متفاوت می باشد در آموزش فایروال سرور CSF می باشد برای allow کردن پورت 21 در این فایروال لازم است مسیر زیر را با ویرایشگر متن خود باز نمایید:

vi /etc/csf/csf.conf

در فایل کانفیگ csf در قسمت TCP_IN و TCP_OUT پورت 21 یا پورت دلخواه برای استفاده سرویس FTP را وارد نمایید و از فایل با کلید Esc خارج شده و با :wq اقدام به ذخیره ی تغییرات نمایید.

سپس با دستور زیر یک مرتبه فایروال سرور را ریستارت نمایید:

csf -r

 

قدم دوم : پیکربندی VSFTPD

تنظیمات و رفتار سرویس FTP در سرور شما در فایل کانفیگ موجود در مسیر زیر قابل تغییر می باشد:

/etc/vsftpd/vsftpd.conf

  • قبل از انجام هر تغییری از فایل کانفیگ vsftpd یک بک آپ تهیه نمایید تا در صورت به وجود امدن مشکل، تنظیمات اولیه ی این فایل را در اختیار داشته باشیم. برای تهیه ی بک آپ از دستور زیر استفاده نمایید:

sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default

با این دستور یک نسخه بک آپ با نام vsftpd.conf.default در مسیر بالا ایجاد میگردد.

 

  • در مرحله ی بعد اقدام به باز کردن و ویرایش فایل کانفیگ با دستور زیر نمایید:

sudo vi /etc/vsftpd/vsftpd.conf

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

anonymous_enable=NO

local_enable=YES

این مرحله برای امنیت سرور بسیار حیاتی می باشد و دسترسی کاربر ناشناس دارای ریسک بالایی می باشد و نیاز هست حتما آنرا غیر  فعال نمایید.

 

  • در قدم بعد لازم است در فایل کانفیگ پارامتر زیر را از حالت کامنت خارج نماییم:

write_enable=YES

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

  • کاربران ftp لازم است تنها به home directory خودشان دسترسی داشته باشند و دسترسی آنها به سایر directory ها باید مسدود گردد که به این کار در اصطلاح jail یا chroot jail گفته می شود، برای انجام این کار دو پارامتر زیر را در فایل کانفیگ پیدا کرده و مقادیر آنرا چک نمایید تا همانند دو خط زیر باشد:

chroot_local_user=YES

allow_writeable_chroot=YES

  • یکی از آپشن های vsftpd این می باشد که به شما اجازه میدهد تا بتوانید یک لیست کاربران تایید شده ایجاد نمایید. برای مدیریت کاربران از این طریق ، خط userlist_enable را در فایل کانفیگ پیدا کنید ، سپس به صورت زیر اقدام به ویرایش آن نمایید:

userlist_enable=YES

userlist_file=/etc/vsftpd/user_list

userlist_deny=NO

 

در حال حاضر با اعمال تغییرات بالا میتوانید لیست یوزر هایی که میتوانند به ftp دسترسی داشته باشند در فایل /etc/vsftpd/user_list وارد نمایید. با تغییر userlist_deny=yes فایل مورد نظر به کاربرانی که نمیتواند دسترسی داشته باشند تغییر پیدا میکند.

  • در پایان نیاز هست یک مرتبه سرویس vsftpd را به منظور اعمال تغییرات انجام شده با دستور زیر ریست نمایید:

sudo systemctl restart vsftpd

قدم سوم : ساخت یک کاربر ftp جدید:

  • به منظور ساخت یک اکانت ftp مراحل زیر را دنبال نمایید:

sudo adduser testuser

با دستور زیر برای یوزر ftp یک پسوورد دلخواه ست نمایید:

sudo passwd testuser

  • در مرحله ی بعد لازم است یوزر جدید ساخته شده را به فایل user_list اضافه نماییم:

echo “testuser” | sudo tee –a /etc/vsftpd/user_list

  • در قدم بعد لازم است مطابق دستورات زیر اقدام به ساخت دایرکتوری مربوط به یوز جدید و ایجاد دسترسی برای یوزر جدید به منظور دسترسی read/write یوزر در دایرکتوری مشخص نمایید:

sudo mkdir –p /home/testuser/ftp/upload

sudo chmod 550 /home/testuser/ftp

sudo chmod 750 /home/testuser/ftp/upload

sudo chown –R testuser: /home/testuser/ftp

 

در حال حاضر شما میتوانید با یوزر ساخته شده اقدام به اتصال به سرور FTP خود نمایید.

همچنین به منظور تست سرور ftp به صورت local و remoteمیتوانید از کامندهای زیر استفاده نمایید:

ftp localhost

ftp your.ftp.server.com

 

با تشکر از همراهی شما برای مشاهده ی مقاله های بیشتر میتوانید به بخش مقالات مراجعه بفرمایید.

اشتراک گذاری در linkedin

به تیم متخصص ما اعتماد کنید!

کد تخفیف مخاطبین مرکز محتوا:

Blog01

از این کد می‌تونید برای خرید اشتراک خدمات سرور مجازی و هاست استفاده کنید و از %10 تخفیف تو سفارش این خدمات بهره‌مند بشید!

محتوای پیشنهادی شما

محتوای مقاله مفید بود؟

0 0 رای ها
این مقاله چطور بود؟
اشتراک در
اطلاع از
0 دیدگاه
بازخوردهای آنلاین
مشاهده همه دیدگاه ها