آموزش لینوکس - قسمت دهم - نصب و راه‌اندازی FTP Server

آموزش سیستم عامل لینوکس اوتونتو - Ubuntu Linuxنکته مهم: این مقاله به مرور زمان، ویرایش و یا تکمیل می‌شود! لذا در صورتی که به مشکل تایپی، دستوری و یا مفهومی در آن برخورد کردید، خوشحال می‌شوم که مرا در جریان قرار داده، تا آن را ویرایش و یا تکمیل نمایم. با تشکر داریوش تصدیقینسخه ۱.۲برای سادگی کار، به جای آن که در ابتدای هر یک از دستورات این مقاله، از کلمه 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) در لینوکس اوبونتو، می‌توانید به مقاله ذیل مراجعه نمایید:مقاله دیوارآتشپایان