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 vsftpdCentOS/RHEL-এ:
sudo yum install vsftpdFedora-এ:
sudo dnf install vsftpd১.২: vsftpd সার্ভিস চালু করা
vsftpd ইনস্টল করার পর, আপনাকে সার্ভারটি চালু এবং সিস্টেম স্টার্টআপে চালু করতে হবে।
sudo systemctl start vsftpd
sudo systemctl enable vsftpdvsftpd সঠিকভাবে চলছে কিনা তা নিশ্চিত করতে:
sudo systemctl status vsftpd2. vsftpd কনফিগারেশন
vsftpd কনফিগারেশন ফাইলটি **/etc/vsftpd.conf**। এই ফাইলটি সম্পাদনা করে আপনি FTP সার্ভারের বিভিন্ন সেটিংস কনফিগার করতে পারেন।
২.১: vsftpd কনফিগারেশন ফাইল সম্পাদনা
sudo nano /etc/vsftpd.confনীচে কিছু সাধারণ কনফিগারেশন অপশন উল্লেখ করা হলো:
anonymous_enable=NO: এটি অ্যানোনিমাস লগইন নিষিদ্ধ করবে। এই সেটিংটি নিরাপত্তার জন্য গুরুত্বপূর্ণ।anonymous_enable=NOlocal_enable=YES: এটি লোকাল ব্যবহারকারীদের FTP সার্ভারে লগইন করতে অনুমতি দেয়।local_enable=YESwrite_enable=YES: এটি ব্যবহারকারীদের ফাইল আপলোড করতে এবং মডিফাই করতে অনুমতি দেয়।write_enable=YESchroot_local_user=YES: এটি ব্যবহারকারীকে তাদের হোম ডিরেক্টরিতে সীমাবদ্ধ রাখে, যাতে তারা শুধুমাত্র তাদের নিজের ফাইল অ্যাক্সেস করতে পারে।chroot_local_user=YESpasv_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 vsftpd3. ফায়ারওয়াল কনফিগারেশন
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 --reload4. ব্যবহারকারী তৈরি এবং 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 ব্যবহার করতে পারেন।
Read more