نکته مهم: این مقاله به مرور زمان، ویرایش و یا تکمیل میشود! لذا در صورتی که به مشکل تایپی، دستوری و یا مفهومی در آن برخورد کردید، خوشحال میشوم که مرا در جریان قرار داده، تا آن را ویرایش و یا تکمیل نمایم. با تشکر داریوش تصدیقی
نسخه ۱.۲
برای سادگی کار، به جای آن که در ابتدای هر یک از دستورات این مقاله، از کلمه sudo استفاده نماییم! ابتدا یکی از دستورات sudo -i یا su را اجرا کرده، تا به عنوان کاربر root وارد سیستم عامل لینوکس اوبونتو شده و سپس دستورات این مقاله را اجرا میکنیم.
در بسیاری از موارد، ما نیاز داریم که فایلهایی را بر روی سیستم عامل لینوکس ارسال (آپلود) کرده و یا دریافت (دانلود) نماییم. برای این منظور نیاز داریم تا یک FTP Server بر روی سیستم عامل لینوکس نصب نماییم. FTP مخفف File Transfer Protocol میباشد.
برای راهاندازی FTP Server، از بستهای (Package) به نام vsftpd (مخفف Very Safe FTP Demo) استفاده میکنیم.
ابتدا اگر این سرویس بر روی سیستم نصب و راهاندازی شده باشد، آن را به طور کامل Uninstall میکنیم:
apt purge -y vsftpd
برای این منظور، به ترتیب دستورات ذیل را وارد مینماییم:
apt update -y apt upgrade -y apt install -y vsftpd
پس از نصب بسته مذکور، باید فایل مربوط به تنظیمات (Configuration) آن را ویرایش نماییم. ولی قبل از آن، یک نسخه پشتیبان (Backup) از این فایل ایجاد کرده و سپس تغییرات خود را بر روی فایل تظیمات اعمال میکنیم.
ممکن است که تغییراتی در فایل تنظیمات مربوط به برنامه vsftpd اعمال کنیم که ناصحیح بوده و یا به طور کلی این فایل را دچار اختلال کنیم! برای اینکه ریسک نکنیم، قبل از اعمال تغییرات در فایل تنظیمات، یک کپی پشتیانی از فایل تنظیمات ایجاد میکنیم. برای این منظور از دستور ذیل استفاده میکنیم:
cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
پس از کپی شدن فایل مذکور به نام vsftpd.conf.bak، و قبل از آن که فایل vsftpd.conf را توسط برنامه nano ویرایش نماییم، ابتدا چک میکنیم که آیا سرویس vsftpd راهاندازی شده است یا خیر؟ و اگر راهاندازی شده باشد، ابتدا آن را Stop کرده و سپس نسبت به تغییر فایل تنظیمات آن اقدام میکنیم.
برای بررسی وضعیت سرویس vsftpd یکی از دستورات ذیل را استفاده میکنیم:
systemctl status vsftpd
و یا
service vsftpd status
در صورتی که سرویس Start بود، سرویس را با استفاده از یکی دستورات ذیل Stop میکنیم:
systemctl stop vsftpd
و یا
service vsftpd stop
حال با استفاده از دستور nano اقدام به ویرایش فایل تنظیمات مربوط به سرویس vsftpd میکنیم:
nano /etc/vsftpd.conf
میتوانید گزینههای موجود در فایل تنظیمات را به طور کامل حذف (پاک) کرده و گزینههای ذیل را کپی کرده و در داخل فایل تنظیمات Paste نمایید. دقت کنید که تنظیمات ذیل بسیار ساده و کلاسیک بوده و میتوانید تنظیمات پیچیدهتری را در داخل این فایل اعمال نمایید:
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES ftpd_banner=Welcome to DT FTP service. chroot_local_user=YES allow_writeable_chroot=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd ssl_enable=NO force_dot_files=YES utf8_filesystem=YES pasv_min_port=40000 pasv_max_port=50000
برای اینکه بعد از اعمال تغییرات فوق در فایل تنظیمات، سرویس vsftpd را راهاندازی نماییم، یکی از دستورات ذیل را استفاده میکنیم:
systemctl start vsftpd
و یا
service vsftpd start
برای اینکه وقتی سیستم مجددا راهاندازی (boot) میشود، سرویس vsftpd به طور خودکار راهاندازی (Start) شود، از دستور ذیل را استفاده میکنیم:
systemctl enable vsftpd
در صورتی که دیوار آتش (Firewall) بر روی سیستم فعال باشد و یا بخواهیم آن را فعال نماییم، باید پورتهای سرویس ftp را آزاد نماییم. برای این منظور از دستورات ذیل استفاده میکنیم:
ufw allow 20/tcp ufw allow 21/tcp ufw allow 990/tcp ufw allow 40000:50000/tcp
برای اطمینان از اینکه تنظیمات فوق به درستی در تنظیمات دیوارآتش اعمال شده است، از دستور ذیل استفاده میکنیم:
ufw status
حال میتوانیم از روی سیستم دیگری (مثلا ویندوز) نسخه Client برنامه FileZilla را نصب کرده و از طریق آن به سیستم لینوکس متصل شده و فایلهای خود را جابجا نماییم.
برای کسب اطلاعات بیشتر در خصوص مفاهیم، نصب و راهاندازی دیوارآتش (Firewall) در لینوکس اوبونتو، میتوانید به مقاله ذیل مراجعه نمایید:
پایان