FTP সার্ভার সেটআপ এবং ব্যবস্থাপনা

সার্ভার সেটআপ এবং ম্যানেজমেন্ট - ইউনিক্স/লিনাক্স (UNIX / LINUX) - Computer Programming

218

FTP সার্ভার সেটআপ এবং ব্যবস্থাপনা

FTP (File Transfer Protocol) একটি নেটওয়ার্ক প্রোটোকল যা দুটি সিস্টেমের মধ্যে ফাইল স্থানান্তর করার জন্য ব্যবহৃত হয়। FTP সার্ভার সেটআপ এবং ব্যবস্থাপনা একটি সিস্টেম অ্যাডমিনিস্ট্রেটরের জন্য গুরুত্বপূর্ণ কাজ, বিশেষ করে যখন আপনি নেটওয়ার্কে ফাইল শেয়ারিং এবং স্থানান্তর করতে চান। FTP সার্ভার সেটআপ করার জন্য বেশ কিছু জনপ্রিয় সফটওয়্যার রয়েছে, যেমন vsftpd, ProFTPD, এবং Pure-FTPd। এই টিউটোরিয়ালে আমরা vsftpd (Very Secure FTP Daemon) ব্যবহার করে FTP সার্ভার সেটআপ এবং ব্যবস্থাপনা দেখব।


1. vsftpd ইনস্টল করা

vsftpd হল একটি জনপ্রিয়, নিরাপদ এবং সহজে কনফিগারযোগ্য FTP সার্ভার সফটওয়্যার। এটি নিরাপত্তার দিক থেকে খুব শক্তিশালী এবং অনেক সিস্টেমে এটি ডিফল্ট FTP সার্ভার হিসেবে ব্যবহৃত হয়।

১.১: vsftpd ইনস্টল করা

Ubuntu/Debian-এ:

sudo apt update
sudo apt install vsftpd

CentOS/RHEL-এ:

sudo yum install vsftpd

Fedora-এ:

sudo dnf install vsftpd

১.২: vsftpd সার্ভিস চালু করা

vsftpd ইনস্টল করার পর, আপনাকে সার্ভারটি চালু এবং সিস্টেম স্টার্টআপে চালু করতে হবে।

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

vsftpd সঠিকভাবে চলছে কিনা তা নিশ্চিত করতে:

sudo systemctl status vsftpd

2. vsftpd কনফিগারেশন

vsftpd কনফিগারেশন ফাইলটি **/etc/vsftpd.conf**। এই ফাইলটি সম্পাদনা করে আপনি FTP সার্ভারের বিভিন্ন সেটিংস কনফিগার করতে পারেন।

২.১: vsftpd কনফিগারেশন ফাইল সম্পাদনা

sudo nano /etc/vsftpd.conf

নীচে কিছু সাধারণ কনফিগারেশন অপশন উল্লেখ করা হলো:

  • anonymous_enable=NO: এটি অ্যানোনিমাস লগইন নিষিদ্ধ করবে। এই সেটিংটি নিরাপত্তার জন্য গুরুত্বপূর্ণ।

    anonymous_enable=NO
  • local_enable=YES: এটি লোকাল ব্যবহারকারীদের FTP সার্ভারে লগইন করতে অনুমতি দেয়।

    local_enable=YES
  • write_enable=YES: এটি ব্যবহারকারীদের ফাইল আপলোড করতে এবং মডিফাই করতে অনুমতি দেয়।

    write_enable=YES
  • chroot_local_user=YES: এটি ব্যবহারকারীকে তাদের হোম ডিরেক্টরিতে সীমাবদ্ধ রাখে, যাতে তারা শুধুমাত্র তাদের নিজের ফাইল অ্যাক্সেস করতে পারে।

    chroot_local_user=YES
  • pasv_enable=YES এবং pasv_min_port=10000 এবং pasv_max_port=10100: এটি প্যাসিভ মোডে FTP সার্ভার পরিচালনার জন্য নির্দিষ্ট পোর্ট রেঞ্জ সংরক্ষণ করে।

    pasv_enable=YES
    pasv_min_port=10000
    pasv_max_port=10100

২.২: vsftpd কনফিগারেশন পরিবর্তন পরবর্তী রিস্টার্ট

কনফিগারেশন পরিবর্তন করার পর সার্ভিস রিস্টার্ট করতে হবে:

sudo systemctl restart vsftpd

3. ফায়ারওয়াল কনফিগারেশন

FTP সার্ভারের জন্য, ফায়ারওয়াল সেটআপ করা অপরিহার্য, যাতে নির্দিষ্ট পোর্টের ট্রাফিক অনুমতি পাওয়া যায়।

৩.১: ufw (Uncomplicated Firewall) ব্যবহার করে পোর্ট খোলা

Ubuntu/Debian-এ ufw ফায়ারওয়াল ব্যবহার করলে, আপনাকে পোর্ট 21 (FTP) এবং 10000-10100 (Passive FTP) খুলতে হবে।

sudo ufw allow 21/tcp
sudo ufw allow 10000:10100/tcp

এর পর, ফায়ারওয়াল রুলগুলো পুনরায় লোড করতে:

sudo ufw reload

৩.২: firewalld ব্যবহার করে পোর্ট খোলা (CentOS/RHEL)

sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=10000-10100/tcp
sudo firewall-cmd --reload

4. ব্যবহারকারী তৈরি এবং FTP অ্যাক্সেস দেওয়া

আপনি যেসব ব্যবহারকারীকে FTP সার্ভারে অ্যাক্সেস দিতে চান তাদের জন্য ব্যবহারকারী তৈরি করতে পারেন এবং তাদের হোম ডিরেক্টরি নির্ধারণ করতে পারেন।

৪.১: নতুন ব্যবহারকারী তৈরি করা

sudo useradd -m username
sudo passwd username

এখানে, username হলো নতুন ব্যবহারকারীর নাম, এবং আপনাকে passwd কমান্ড দিয়ে পাসওয়ার্ড সেট করতে হবে।

৪.২: ব্যবহারকারী FTP ব্যবহার করতে পারবে এমন নিশ্চিত করা

যেহেতু chroot_local_user=YES কনফিগারেশনটি স্থানীয় ব্যবহারকারীকে তাদের হোম ডিরেক্টরির মধ্যে সীমাবদ্ধ করে, সুতরাং নতুন ব্যবহারকারীও কেবল তাদের হোম ডিরেক্টরিতে প্রবেশ করতে পারবে।


5. FTP ক্লায়েন্ট দিয়ে সংযোগ

FTP সার্ভারের সাথে সংযোগ স্থাপন করতে আপনি কমান্ড লাইন FTP ক্লায়েন্ট ব্যবহার করতে পারেন অথবা একটি গ্রাফিকাল FTP ক্লায়েন্ট যেমন FileZilla ব্যবহার করতে পারেন।

৫.১: কমান্ড লাইন FTP ক্লায়েন্ট ব্যবহার করে সংযোগ

ftp server_ip_address

এটি server_ip_address এ সংযোগ করতে সাহায্য করবে। আপনি লগইন করতে হলে ব্যবহারকারীর নাম এবং পাসওয়ার্ড প্রম্পট পাবেন।


6. FTP সার্ভারের নিরাপত্তা

FTP নিজেই নিরাপদ নয়, কারণ এটি ডেটা এবং পাসওয়ার্ড প্লেইন টেক্সটে পাঠায়। সুতরাং FTPS (FTP Secure) বা SFTP (SSH File Transfer Protocol) ব্যবহারের জন্য সুপারিশ করা হয়।

৬.১: SFTP সেটআপ করা

SFTP সেটআপ করতে SSH এর সাথে সংযুক্ত হওয়া প্রয়োজন এবং এটি sshd সার্ভিস ব্যবহার করে সুরক্ষিত ফাইল স্থানান্তর নিশ্চিত করে।

sudo systemctl start ssh
sudo systemctl enable ssh

এটি FTP এর চেয়ে বেশি নিরাপদ বিকল্প, কারণ এটি SSH ব্যবহার করে ফাইল ট্রান্সফার করে।


সারসংক্ষেপ

FTP সার্ভার vsftpd ব্যবহার করে সেটআপ করা একটি সহজ এবং নিরাপদ পদ্ধতি, যা LINUX এবং UNIX সিস্টেমে ফাইল শেয়ারিং এবং স্থানান্তরের জন্য ব্যবহৃত হয়। vsftpd সার্ভারের মাধ্যমে আপনি FTP সার্ভার কনফিগার করতে পারেন, ব্যবহারকারী তৈরি করতে পারেন, ফায়ারওয়াল কনফিগারেশন সেট করতে পারেন এবং নির্দিষ্ট সময়ে নিরাপত্তা নিশ্চিত করার জন্য FTPS বা SFTP ব্যবহার করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...