কীভাবে RHEL 8 এ এফটিপি সার্ভার ইনস্টল, কনফিগার এবং সুরক্ষিত করবেন


এফটিপি (মানে "ফাইল ট্রান্সফার প্রোটোকল") একটি স্ট্যান্ডার্ড এবং পুরানো নেটওয়ার্ক প্রোটোকল যা কোনও কম্পিউটার নেটওয়ার্কে ক্লায়েন্ট এবং সার্ভারের মধ্যে ফাইল স্থানান্তর করার জন্য ব্যবহৃত হয়। এটি একটি ক্লায়েন্ট-সার্ভার মডেল আর্কিটেকচারে তৈরি করা হয়েছে, যা সার্ভারে ফাইলগুলি আপলোড করার পাশাপাশি এখান থেকে ফাইলগুলি ডাউনলোড করতে কোনও এফটিপি ক্লায়েন্টের মাধ্যমে ফাইল এবং ডিরেক্টরিতে অ্যাক্সেস সরবরাহ করে।

আমাদের পূর্ববর্তী নিবন্ধে, আমরা কম্পিউটার নেটওয়ার্কে ক্লায়েন্ট এবং সার্ভারের মধ্যে কম্পিউটার ফাইল স্থানান্তর করার জন্য CentOS/RHEL 7 এ এফটিপি সার্ভারটি ইনস্টল, কনফিগার ও সুরক্ষিত করার পদ্ধতি ব্যাখ্যা করেছি।

এই নিবন্ধে, আমরা কম্পিউটারগুলির মধ্যে বেসিক ফাইল ভাগ করে নেওয়ার জন্য কীভাবে RHEL 8 এ কোনও এফটিপি সার্ভার ইনস্টল, কনফিগার এবং সুরক্ষিত করব তা বর্ণনা করব।

RHEL 8 এ এফটিপি সার্ভার ইনস্টল করুন

সুরক্ষিত এফটিপি প্যাকেজ ইনস্টল করতে, নিম্নলিখিত ডিএনএফ কমান্ডটি ব্যবহার করুন।

# dnf install vsftpd

২. ইনস্টলেশনটি সম্পূর্ণ হয়ে গেলে, এর মধ্যে আপনার জন্য vsftpd পরিষেবাটি শুরু করতে হবে, এটি সিস্টেম বুটে স্বয়ংক্রিয়ভাবে শুরু করতে সক্ষম করুন এবং তারপরে নিম্নলিখিত সিস্টেস্টটিএল কমান্ড ব্যবহার করে স্থিতিটি যাচাই করুন।

# systemctl start vsftpd
# systemctl enable vsftpd
# systemctl status vsftpd

৩. পরবর্তী, আপনাকে বাহ্যিক সিস্টেমগুলি থেকে এফটিপি পরিষেবাগুলিতে অ্যাক্সেসের অনুমতি দিতে সিস্টেম ফায়ারওয়ালে 21 টি এফটিপি পোর্ট খুলতে হবে।

# firewall-cmd --zone=public --permanent --add-port=21/tcp
# firewall-cmd --zone=public --permanent --add-port=45073/tcp
# firewall-cmd --reload

RHEL 8 এ এফটিপি সার্ভার কনফিগার করুন

৪.এফটিপি সার্ভারটি কনফিগার করতে আপনার নীচের অনুলিপি কমান্ডটি ব্যবহার করে প্রধান এফটিপি কনফিগারেশন ফাইল /etc/vsftpd/vsftpd.conf ব্যাকআপ নিতে হবে।

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig

5. তারপরে আপনার প্রিয় কমান্ড লাইন সম্পাদকটি ব্যবহার করে কনফিগারেশন ফাইলটি খুলুন।

# vi /etc/vsftpd/vsftpd.conf

এই সম্পর্কিত মানগুলির সাথে নিম্নলিখিত প্যারামিটারগুলি সেট করুন (কনফিগারেশন প্যারামিটারগুলির অর্থের জন্য man vsftpd.conf দেখুন):

anonymous_enable=NO             
local_enable=YES		
write_enable=YES		
local_umask=022		        
dirmessage_enable=YES	        
xferlog_enable=YES		
connect_from_port_20=YES        
xferlog_std_format=YES          
listen=NO   			
listen_ipv6=YES		        
pam_service_name=vsftpd        

Next. এরপরে, ব্যবহারকারীদের তালিকা ফাইল /etc/vsftpd.userlist এর উপর ভিত্তি করে ব্যবহারকারীদের FTP পরিষেবাদিতে অ্যাক্সেসের অনুমতি/অস্বীকার করার জন্য আপনাকে এফটিপি কনফিগার করতে হবে।

ডিফল্টরূপে /etc/vsftpd.userlist ফাইলের তালিকাভুক্ত ব্যবহারকারীদের ব্যবহারকারী তালিকা_ডনি YES এ সেট করা বিকল্পের সাথে অ্যাক্সেস অস্বীকার করা হয়েছে, ব্যবহারকারী তালিকা_নেবল = হ্যাঁ এটি অ্যাক্সেস সক্ষম করে।

তবে ব্যবহারকারী তালিকা_ডেনী = কোন প্যারামিটারটি সেট করে সেটিংস পরিবর্তন করে, এর অর্থ কেবলমাত্র ব্যবহারকারী তালিকা_ফাইলে =/ইত্যাদি/vsftpd.userlist এ তালিকাভুক্ত ব্যবহারকারীগণ লগ ইন করার অনুমতি পাবে।

অতএব, আপনার vsftpd.conf কনফিগারেশন ফাইলের মধ্যে নিম্নলিখিত লাইনগুলি যুক্ত করুন (বা যদি ইতিমধ্যে উপস্থিত থাকে তবে সেগুলিকে অসুবিধা করুন এবং তাদের মানগুলি প্রদর্শিত হিসাবে সেট করুন):

userlist_enable=YES                   # allow access to list of usernames from the userlist_file
userlist_file=/etc/vsftpd.userlist    # stores usernames.
userlist_deny=NO   

F. এখন আপনার vsftpd.conf কনফিগারেশন ফাইলে নীচের লাইনগুলি এফটিপি ব্যবহারকারীদের তাদের হোম ডিরেক্টরিতে সীমাবদ্ধ করতে যুক্ত করুন।

chroot_local_user=YES		#means local users will be placed in a chroot jail, their home directory after login by default settings.
user_sub_token=$USER         	
local_root=/home/$USER/ftp   	

ফাইলের পরিবর্তনগুলি সংরক্ষণ করুন এবং এটি বন্ধ করুন।

8. ব্যবহারকারীর হোম ডিরেক্টরিতে ফাইল পড়তে/লিখতে FTP সক্ষম করতে নিম্নলিখিত সেলিলাক্স বুলিয়ান নিয়মটি সেট করুন।

# semanage boolean -m ftpd_full_access --on

9. অবশেষে আমরা এতদূর উপরে যে সমস্ত পরিবর্তনগুলি করেছি তা প্রভাবিত করতে vsftpd পরিষেবাটি পুনরায় চালু করুন:

# systemctl restart vsftpd

RHEL 8 এফটিপি সার্ভার পরীক্ষা করা হচ্ছে

১০. উপরের এফটিপি সেটআপটি ঠিকঠাক চলছে কিনা তা পরীক্ষা করতে, ইউজারডড কমান্ড সহ কোনও এফটিপি ব্যবহারকারী তৈরি করে শুরু করুন এবং সেই ব্যবহারকারীর জন্য একটি পাসওয়ার্ড তৈরি করুন।

# useradd -m -c "Tecmint HowTos" -s /bin/bash tecmint
# passwd tecmint

১১. এরপরে ইকো কমান্ডটি ব্যবহার করে /etc/vsftpd.userlist ফাইলটিতে ব্যবহারকারী টেকমিন্ট যুক্ত করুন।

# echo "tecmint" | tee -a /etc/vsftpd.userlist
# cat /etc/vsftpd.userlist

12. তারপরে ব্যবহারকারীর জন্য বিকল্প স্থানীয় রুট ডিরেক্টরি তৈরি করুন (টেকমিন্ট, সম্ভবত আপনার চেয়ে পৃথক পৃথক) এবং এই ডিরেক্টরিতে উপযুক্ত অনুমতি সেট করুন।

# mkdir -p /home/tecmint/ftp
# chown nobody:nobody /home/tecmint/ftp
# chmod a-w /home/tecmint/ftp

13. এর পরে, স্থানীয় মূল অবস্থানের ভিতরে একটি ডিরেক্টরি তৈরি করুন, যেখানে ব্যবহারকারীরা তার ফাইলগুলি রাখবে।

# mkdir /home/tecmint/ftp/files
# chown tecmint:tecmint /home/tecmint/ftp/files
# chmod 0700 /home/tecmint/ftp/files/

14. এখন নিম্নলিখিত FTP ক্লায়েন্ট ব্যবহার করে FTP সার্ভারের সাথে সংযোগ করুন।

# ftp [email 
Connected to 192.168.56.100
220 Welcome to TecMint.com FTP service.
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls

এটাই! এই নিবন্ধে, আমরা কীভাবে RHEL 8 এ কোনও এফটিপি সার্ভার ইনস্টল করতে, কনফিগার করতে ও সুরক্ষিত করব তা বর্ণনা করেছি আমাদের পরবর্তী নিবন্ধে, আমরা কীভাবে এসএসএল/টিএলএস সংযোগগুলি ব্যবহার করে এফটিপি সার্ভারটি সুরক্ষিত করব তা দেখাব। ততক্ষণ আমাদের সাথে থাকুন।