آموزش تصویری راه اندازی FTP سرور در 3 مرحله در سیستم عامل Ubuntu

در این آموزش قصد داریم نحوه تنظیم و راه اندازی FTP سرور با سیستم عامل اوبونتو را با هم بررسی کنیم. FTP یا پروتکل انتقال فایل، واسطه ای برای ارسال و دریافت فایل ها از طریق اتصال به شبکه است. با استفاده از چارچوب client/server و با موارد امنیتی SSL / TLS، FTP به کاربران این امکان را می دهد که فایل های خود را از طریق کامپیوترها به صورت کاملا امن، کارآمد و قابل اطمینان انتقال دهند. (با استفاده از پروتکل TCP / IP).

راه اندازی FTP سرور

توابع FTP همانند پروتکل های HTTP یا SMTP عمل می کنند؛ اگر بخواهیم آن ها را مقایسه کنیم این طور می توان گفت که تنها تفاوت این پروتکل ها این است که در اینترنت به جای ارسال صفحات وب از سرور به یک کاربر یا ایمیل، مسئولیت انتقال امن فایل ها از یک فرستنده به گیرنده را دارد.

توجه: این آموزش راه اندازی FTP سرور بر مبنای سیستم عامل اوبونتو 16.04 است. اما باز هم می توان همین مراحل را در هنگام ایجاد یک سرور FTP با سیستم عامل اوبونتو 14.04 یا پایین تر نیز اعمال کرد.

مرحله 1: نصب Vsftpd

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

sudo apt-get update

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

image

هنگامی که مراحل بالا به صورت کامل انجام شد، به کمک دستور زیر vsftpd را نصب می کنیم:

sudo apt-get install vsftpd

بعد از اجرای مراحل نصب، پیغامی دریافت می کنیم که آیا قصد ادامه مراحل را داریم یا خیر؟ برای تایید و ادامه دادن حرف Y را وارد کرده و سپس کلید Enter را فشار می دهیم تا مراحل نصب ادامه یابد.

پس از اتمام پروسه نصب، یک نسخه پشتیبان از فایل اصلی ایجاد می کنیم. در ادامه کار را با یک فایل پیکربندی خالی شروع می کنیم:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original

سپس باید به مرحله بعدی برویم و فایروال را پیکربندی کنیم.…

مرحله 2: پیکربندی های FTP و فایروال

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

sudo ufw status

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

ufw: command not found

اگر بعد از وارد کردن دستور بالا یکسری قوانین تعریف شده یا پیامی را مشاهده کردید که نشان می داد فایروال فعال است، سوال اجازه ترافیک های FTP که از شما پرسیده می شود را تایید کنید. در ادامه پورت های 20 و 21 را برای ترافیک FTP باز می کنیم؛ رنج 40000-50000 طیف وسیعی از پورت های منفعل که در فایل پیکربندی، تنظیم شده است و پورت 990 هم زمانی که TLS فعال باشد، استفاده می شود. برای انجام این پیکربندی ها دستورات زیر را اجرا کنید:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp
sudo ufw allow 40000:50000/tcp

در این مرحله از راه اندازی FTP سرور باید دوباره وضعیت را بررسی کنیم:

sudo ufw status

بعد از وارد کردن دستورات، خروجی باید چیزی شبیه به پیغام های زیر باشد:

Output
Status: active
To Action From


990/tcp ALLOW Anywhere
20/tcp ALLOW Anywhere
21/tcp ALLOW Anywhere
40000:50000/tcp ALLOW Anywhere
20/tcp (v6) ALLOW Anywhere (v6)
21/tcp (v6) ALLOW Anywhere (v6)
990/tcp (v6) ALLOW Anywhere (v6)
40000:50000/tcp (v6) ALLOW Anywhere (v6)

حالا که همه پورت های لازم را برای ما باز کرده و در دسترس ما قرار گرفه اند، می توانیم به مرحله بعدی برویم و سایر تنظیمات را اعمال کنیم.

مرحله 3: ساخت user directory

برای ایجاد یک سرور FTP اوبونتو، باید کاربری را انتخاب کنیم که از دسترسی FTP استفاده می کند. در ادامه بررسی می کنیم که چطور می توان با دستورات لینوکسی کاربر جدیدی را اضافه کرد. برای ایجاد کاربری، از دستور زیر استفاده کنید:

sudo adduser alex

بعد از وارد کردن دستور، یک رمز عبور مناسب برای کاربر وارد کنید. برخی جزئیات مرتبط با کاربر از شما سوال می شود، آن ها را هم تکمیل کنید. بهتر است که کاربر FTP به دلایل امنیتی کمی محدود شود. Vsftpd از محدودیت chroot برای انجام این کار استفاده می کند. Chroot باعث می شود که کاربر به طور پیش فرض تنها به پوشه اصلی خود دسترسی داشته باشد. در ادامه باید تمام دسترسی هایی که یک کاربر دارد را بررسی کرد چون ممکن است کاربر قادر به نوشتن در دایرکتوری باشد. دقت داشته باشید مجوز نوشتن را از پوشه روت کاربر حذف نمی کنیم، بلکه یک پوشه ftp ایجاد خواهیم کرد که مجوز نوشتن دارد و برای نگهداری فایل های مربوطه کاربر خواهد بود. برای ایجاد پوشه FTP از دستور زیر استفاده کنید:

sudo mkdir /home/alex/ftp

در ادامه مراحل راه اندازی FTP سرور مالکیت یا ownership را با استفاده از دستور زیر تنظیم کنید:

sudo chown nobody:nogroup /home/alex/ftp

در آخر، مجوزهای نوشتن را حذف کنید:

sudo chmod a-w /home/alex/ftp

خروجی باید چیزی شبیه به متن زیر باشد:

total 8
dr-xr-xr-x 2 nobody nogroup 4096 Jun 29 11:32 .
drwxr-xr-x 3 alex alex 4096 Jun 29 11:32 …

در مرحله بعدی یک دایرکتوری ایجاد می کنیم و مالکیت آن را به کاربر اعطا خواهیم کرد:

sudo mkdir /home/alex/ftp/files
sudo chown alex:alex /home/alex/ftp/files

در نهایت برای اینکه مطمئن شوید تمامی تنظیمات راه اندازی FTP سرور به دسترسی اعمال شده، یک فایل تست را ایجاد و به دایرکتوری اضافه کنید.

echo “vsftpd sample file” | sudo tee /home/alex/ftp/files/sample.txt

2 Likes