Server Administration Archives - To Learn Team https://tolearnteam.com/tag/server-administration/ Learn about Everything Online Wed, 05 Aug 2026 14:10:36 +0000 en-US hourly 1 https://wordpress.org/?v=7.1.2 https://tolearnteam.com/wp-content/uploads/2026/07/cropped-Logo-32x32.png Server Administration Archives - To Learn Team https://tolearnteam.com/tag/server-administration/ 32 32 Complete Article: CentOS Linux ইনস্টলেশন – স্টেপ বাই স্টেপ ফুল গাইড https://tolearnteam.com/centos-stream-9-install-bangla-tutorial-step-by-step/ Wed, 05 Aug 2026 14:03:27 +0000 http://tolearnteam.com/?p=2065 ভূমিকা: CentOS কি এবং কেন শিখবেন? CentOS Stream হলো Red Hat Enterprise Linux (RHEL) এর আপস্ট্রিম ডেভেলপমেন্ট প্ল্যাটফর্ম। এন্টারপ্রাইজ লেভেল সার্ভার, ওয়েব হোস্টিং, ডেটাবেস সার্ভার চালানোর জন্য CentOS সবচেয়ে স্টেবল ও…

The post Complete Article: CentOS Linux ইনস্টলেশন – স্টেপ বাই স্টেপ ফুল গাইড appeared first on To Learn Team.

]]>
ভূমিকা: CentOS কি এবং কেন শিখবেন?

CentOS Stream হলো Red Hat Enterprise Linux (RHEL) এর আপস্ট্রিম ডেভেলপমেন্ট প্ল্যাটফর্ম। এন্টারপ্রাইজ লেভেল সার্ভার, ওয়েব হোস্টিং, ডেটাবেস সার্ভার চালানোর জন্য CentOS সবচেয়ে স্টেবল ও সিকিউর ডিস্ট্রোগুলোর একটি।

গুরুত্বপূর্ণ নোট: CentOS 8 EOL হয়ে গেছে। এখন CentOS Stream 9 হলো কারেন্ট ভার্সন। এটা RHEL 9 এর আপস্ট্রিম। প্রোডাকশনের জন্য অনেকে Rocky Linux বা AlmaLinux ব্যবহার করে, কিন্তু CentOS Stream সিস্টেম অ্যাডমিন শেখার জন্য বেস্ট।

এই আর্টিকেলে যা শিখবেন:

  1. ISO ডাউনলোড ও বুটেবল মিডিয়া তৈরি
  2. VMware/VirtualBox এ VM কনফিগার
  3. Anaconda Installer দিয়ে স্টেপ-বাই-স্টেপ ইনস্টল
  4. Manual Partition: LVM, /boot, /, swap এর বেস্ট প্র্যাকটিস
  5. Network, Hostname, User ও Root সেটআপ
  6. Minimal vs Server with GUI ইনস্টলেশনের পার্থক্য
  7. একাডেমিক আলোচনা: RHEL Ecosystem ও RPM প্যাকেজ ম্যানেজমেন্ট

১. পূর্বশর্ত ও প্রয়োজনীয় জিনিসপত্র

বিষয়প্রয়োজনক্লারিফিকেশন
ISO ফাইলCentOS-Stream-9-latest-x86_64-dvd1.iso ∼9GBঅফিসিয়াল সাইট: mirror.stream.centos.org
RAMমিনিমাম 2GB, রেকমেন্ডেড 4GBGUI এর জন্য 4GB+ লাগবে
Diskমিনিমাম 20GB, রেকমেন্ডেড 40GB+LVM ব্যবহার করলে পরে বাড়ানো যায়
CPU2 Core64-bit x86_64 আর্কিটেকচার
HypervisorVMware Workstation, VirtualBox, Proxmoxফিজিক্যাল সার্ভারেও একই প্রসেস
নেটওয়ার্কNAT বা Bridgedইনস্টলের সময় আপডেট নামানোর জন্য

স্পেশাল ইনস্ট্রাকশন: প্রোডাকশন সার্ভারে সবসময় Minimal Install ব্যবহার করবেন। GUI সার্ভারে রিসোর্স নষ্ট করে ও সিকিউরিটি রিস্ক বাড়ায়।


২. Step 1: ISO ডাউনলোড ও VM তৈরি

2.1. ISO ডাউনলোড

অফিসিয়াল মিরর থেকে ডাউনলোড করুন:

Bash

wget https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/iso/CentOS-Stream-9-latest-x86_64-dvd1.iso

ক্লারিফিকেশন: dvd1.iso তে সব প্যাকেজ থাকে। boot.iso শুধু নেটওয়ার্ক ইনস্টলের জন্য।

2.2. VMware/VirtualBox সেটিংস

VMware Workstation:

  1. Create New Virtual Machine → Custom → Next
  2. Installer disc image file → CentOS ISO সিলেক্ট করুন
  3. Guest OS: Linux → Version: Red Hat Enterprise Linux 9 64-bit
  4. RAM: 4096 MB, CPU: 2 Core
  5. Disk: 40GB, Store as single file
  6. Network: NAT
  7. Finish এর আগে Customize Hardware → Display → 3D acceleration টিক তুলে দিন।

VirtualBox:

  1. New → Name: CentOS-9, Type: Linux, Version: Red Hat 64-bit
  2. Memory: 4096 MB, Processors: 2
  3. Hard disk: Create 40GB VDI, Dynamically allocated
  4. Settings → Storage → Empty তে ISO মাউন্ট করুন
  5. Network → Adapter 1: NAT

৩. Step 2: Anaconda Installer দিয়ে ইনস্টলেশন

VM স্টার্ট করলে বুট মেনু আসবে। Install CentOS Stream 9 সিলেক্ট করে Enter দিন।

3.1. ভাষা ও কিবোর্ড

  1. Welcome Screen: English → Continue. সার্ভারে সবসময় English ব্যবহার করা বেস্ট প্র্যাকটিস।
  2. Installation Summary স্ক্রিন আসবে। এখান থেকে সব কনফিগার করতে হবে।

3.2. Keymap, Time & Date

  1. Keyboard: English (US) ঠিক আছে কিনা চেক করুন।
  2. Time & Date: Region: Asia, City: Dhaka. Network Time: On করুন। NTP সার্ভার টাইম সিঙ্ক করবে।
    ক্লারিফিকেশন: সার্ভারে সঠিক টাইম না থাকলে SSL, Kerberos, লগ সব ভুল হবে।

3.3. Software Selection – সবচেয়ে গুরুত্বপূর্ণ

Software Selection এ ক্লিক করুন।

অপশনকখন ব্যবহার করবেনডিস্ক সাইজ
Minimal Installপ্রোডাকশন সার্ভার, ওয়েব, ডাটাবেস∼1.5GB
ServerCLI সার্ভার + কমন টুলস∼2.5GB
Server with GUIশিখার জন্য, GUI দরকার হলে∼5GB+
Workstationডেস্কটপ হিসেবে ব্যবহার∼6GB+

রেকমেন্ডেশন: Minimal Install সিলেক্ট করুন। Add-Ons থেকে Standard এবং Guest Agents টিক দিন। এটা VMware Tools ইনস্টল করবে।

3.4. Installation Destination – Manual Partition

এটা সবচেয়ে ক্রিটিক্যাল স্টেপ। Installation Destination এ ক্লিক করুন।

  1. আপনার 40GB ডিস্ক সিলেক্ট করুন।
  2. Storage Configuration: Custom সিলেক্ট করে Done দিন।
  3. Manual Partitioning স্ক্রিন আসবে। LVM সিলেক্ট করুন।

প্রোডাকশন স্ট্যান্ডার্ড পার্টিশন টেবিল:

Mount PointSizeDevice TypeFile Systemক্লারিফিকেশন
/boot1 GBStandard Partitionxfsকার্নেল ও grub ফাইল থাকে। LVM এর বাইরে রাখতে হয়।
/boot/efi600 MBStandard PartitionEFI Systemশুধু UEFI সিস্টেমের জন্য। BIOS হলে লাগবে না।
/20 GBLVMxfsরুট ফাইল সিস্টেম। OS ও সফটওয়্যার।
/home10 GBLVMxfsইউজার ডাটা। আলাদা রাখলে OS রি-ইনস্টলে ডাটা সেফ থাকে।
swap4 GBLVMswapRAM এর 1x থেকে 2x। 4GB RAM হলে 4GB swap যথেষ্ট।
Free Space∼5 GBLVMভবিষ্যতে / বা /var বাড়ানোর জন্য রাখুন।

LVM কেন ব্যবহার করবেন? Logical Volume Management দিয়ে পরে পার্টিশন রিসাইজ করা যায় সার্ভার বন্ধ না করে। এটা এন্টারপ্রাইজ স্ট্যান্ডার্ড।

Click + দিয়ে একটা একটা করে বানান। সব শেষে Done → Accept Changes দিন।

3.5. Network & Host Name

  1. Network & Host Name এ ক্লিক করুন।
  2. Ethernet On করুন। IP অটো DHCP থেকে পাবে।
  3. Host Name: centos9-server.ToLearnTeam.local দিন → Apply.
  4. Configure → IPv4 Settings → Manual দিয়ে স্ট্যাটিক IP সেট করতে পারেন প্রোডাকশনে।
    উদাহরণ: Address: 10.0.0.100, Netmask: 255.255.255.0, Gateway: 10.0.0.1, DNS: 8.8.8.8

3.6. Root Password ও User Creation

  1. Root Password সেট করুন। খুব স্ট্রং পাসওয়ার্ড দিন। Lock root account টিক তুলে দিন।
  2. User Creation → নতুন ইউজার বানান। যেমন: admin। Make this user administrator টিক দিন। এটা wheel গ্রুপে অ্যাড করবে, ফলে sudo ব্যবহার করতে পারবে।
    স্পেশাল ইনস্ট্রাকশন: সরাসরি root দিয়ে লগইন করা সিকিউরিটি রিস্ক। সবসময় নন-রুট ইউজার + sudo ব্যবহার করুন।

সব Done হলে Begin Installation এ ক্লিক করুন। ১০-২০ মিনিট লাগবে।


৪. Step 3: পোস্ট ইনস্টলেশন টাস্ক

ইনস্টল শেষে Reboot System দিন। ISO ফাইল আনমাউন্ট করুন না হলে আবার ইনস্টলার চালু হবে।

4.1. প্রথম লগইন ও সিস্টেম আপডেট

admin ইউজার দিয়ে লগইন করুন।

Bash

sudo dnf update -y

ক্লারিফিকেশন: dnf হলো CentOS 9 এর ডিফল্ট প্যাকেজ ম্যানেজার। yum এর আপগ্রেডেড ভার্সন। -y মানে সব প্রশ্নে yes।

4.2. প্রয়োজনীয় প্যাকেজ ইনস্টল

মিনিমাল ইনস্টলে অনেক বেসিক টুল থাকে না। ইনস্টল করুন:

Bash

sudo dnf install vim wget curl net-tools bash-completion tree git -y
প্যাকেজকাজ
vimঅ্যাডভান্সড টেক্সট এডিটর
net-toolsifconfig, netstat কমান্ডের জন্য
bash-completionTab চাপলে কমান্ড অটো-কমপ্লিট হবে
treeডিরেক্টরি স্ট্রাকচার দেখার জন্য

4.3. ফায়ারওয়াল ও SELinux চেক

Bash

sudo systemctl status firewalld  # Active দেখাবে
sudo getenforce                  # Enforcing দেখাবে

ক্লারিফিকেশন: firewalld ও SELinux সেন্টওএস এর মেইন সিকিউরিটি ফিচার। প্রোডাকশনে কখনো ডিজেবল করবেন না। কনফিগার করতে শিখুন।

4.4. IP ও হোস্টনেম ভেরিফাই করুন

Bash

ip a                    # IP অ্যাড্রেস দেখাবে
hostnamectl             # হোস্টনেম, OS ভার্সন দেখাবে
ping -c 4 google.com    # ইন্টারনেট আছে কিনা চেক

৫. একাডেমিক আলোচনা: CentOS Ecosystem ও ডিরেক্টরি স্ট্রাকচার

5.1. RHEL Ecosystem এ CentOS এর অবস্থান

CentOS Stream হলো “Rolling Preview” of RHEL। Red Hat প্রথমে CentOS Stream এ ফিচার টেস্ট করে, তারপর সেটা RHEL এ স্টেবল রিলিজ হিসেবে যায়।
ফ্লো: Fedora → CentOS Stream → RHEL → AlmaLinux/Rocky Linux

এজন্য CentOS Stream শিখলে আপনি RHEL, Alma, Rocky সবই কভার করছেন। চাকরির বাজারে এটাই চায়।

5.2. Linux ডিরেক্টরি স্ট্রাকচার – FHS Standard

ইনস্টলের পর এই ডিরেক্টরিগুলো বোঝা জরুরি:

/ # রুট ডিরেক্টরি, সবকিছুর মূল
/bin # বেসিক ইউজার কমান্ড: ls, cp, mv
/sbin # সিস্টেম অ্যাডমিন কমান্ড: fdisk, iptables
/etc # সব কনফিগ ফাইল: /etc/ssh/sshd_config
/home # ইউজার হোম ডিরেক্টরি: /home/admin
/var # ভেরিয়েবল ডাটা: লগ /var/log, ওয়েব /var/www
/usr # ইউজার প্রোগ্রাম ও লাইব্রেরি
/boot # কার্নেল, grub বুটলোডার ফাইল
/tmp # টেম্পোরারি ফাইল, রিবুটে মুছে যায়
/opt # থার্ড পার্টি সফটওয়্যার

5.3. RPM প্যাকেজ ম্যানেজমেন্ট

CentOS .rpm প্যাকেজ ব্যবহার করে। dnf হলো হাই-লেভেল টুল।

sudo dnf install nginx # ইনস্টল
sudo dnf remove nginx # রিমুভ
sudo dnf search nginx # সার্চ
sudo dnf info nginx # ডিটেইল দেখা

একাডেমিক তাৎপর্য: Debian/Ubuntu apt ও .deb ব্যবহার করে। দুটো সিস্টেমই জানা থাকলে আপনি যেকোনো লিনাক্স সার্ভার ম্যানেজ করতে পারবেন।


৬. কমন এরর ও ট্রাবলশুটিং

সমস্যাকারণসমাধান
Pane is deadGUI ইনস্টলে RAM কমVM এ 4GB+ RAM দিন
No network during installNAT/Bridged সিলেক্ট করা নাইVM সেটিংসে Network Adapter এনাবল করুন
Warning: /dev/root does not existLVM/পার্টিশন এররManual Partition আবার করুন, /boot Standard Partition রাখুন
X startup failedServer with GUI তে ড্রাইভার ইস্যুMinimal Install দিয়ে CLI ব্যবহার করুন

৭. উপসংহার ও পরবর্তী ধাপ

আপনি এখন সফলভাবে CentOS Stream 9 ইনস্টল করে একটি বেসিক সার্ভার রেডি করেছেন। LVM পার্টিশন, নেটওয়ার্ক, ইউজার ম্যানেজমেন্ট সহ সবকিছু প্রোডাকশন স্ট্যান্ডার্ড মেনে করা হয়েছে।

সিরিজের পরবর্তী পর্ব: CentOS 9 Initial Server Setup - SSH, Firewalld, SELinux কনফিগারেশন। সেখানে আমরা সার্ভারকে ইন্টারনেটে এক্সপোজ করার জন্য সিকিউর করব।

ToLearnTeam.com এর সাথে থাকুন। আপনার প্রশ্ন কমেন্টে জানান।

The post Complete Article: CentOS Linux ইনস্টলেশন – স্টেপ বাই স্টেপ ফুল গাইড appeared first on To Learn Team.

]]>
Telnet কি? Linux সার্ভারে Telnet Server ইনস্টল, কনফিগার ও সিকিউরিটি রিস্ক https://tolearnteam.com/linux-telnet-server-configuration-bangla-tutorial/ Wed, 05 Aug 2026 12:14:39 +0000 http://tolearnteam.com/?p=2056 ভূমিকা: Telnet কি এবং কেন এটি এখন পড়বেন? গুরুত্বপূর্ণ সতর্কতা: Telnet একটি অত্যন্ত অনিরাপদ প্রোটোকল। এটি আপনার ইউজারনেম, পাসওয়ার্ড, কমান্ড সহ সবকিছু প্লেইন টেক্সটে পাঠায়। প্রোডাকশন সার্ভারে কখনোই Telnet ব্যবহার…

The post Telnet কি? Linux সার্ভারে Telnet Server ইনস্টল, কনফিগার ও সিকিউরিটি রিস্ক appeared first on To Learn Team.

]]>
ভূমিকা: Telnet কি এবং কেন এটি এখন পড়বেন?

গুরুত্বপূর্ণ সতর্কতা: Telnet একটি অত্যন্ত অনিরাপদ প্রোটোকল। এটি আপনার ইউজারনেম, পাসওয়ার্ড, কমান্ড সহ সবকিছু প্লেইন টেক্সটে পাঠায়। প্রোডাকশন সার্ভারে কখনোই Telnet ব্যবহার করবেন না। সর্বদা SSH ব্যবহার করুন। এই টিউটোরিয়ালটি শুধুমাত্র লিগ্যাসি সিস্টেম, ল্যাব টেস্টিং এবং একাডেমিক শিক্ষার জন্য।

Telnet (Teletype Network) হলো একটি Application Layer প্রোটোকল যা 1969 সালে RFC 15 এর মাধ্যমে ডেভেলপ করা হয়। এটি TCP পোর্ট 23 ব্যবহার করে রিমোট কম্পিউটারে ভার্চুয়াল টার্মিনাল অ্যাক্সেস দেয়।

এই আর্টিকেলে যা শিখবেন:

  1. Ubuntu/CentOS/RHEL এ Telnet Server ইনস্টল ও কনফিগার
  2. Firewall ও SELinux সেটিংস
  3. Telnet এর ডিরেক্টরি স্ট্রাকচার ও ফাইল
  4. একাডেমিক সিকিউরিটি অ্যানালাইসিস ও Wireshark প্র্যাকটিক্যাল
  5. Telnet vs SSH এর বিস্তারিত তুলনা

১. পূর্বশর্ত ও প্রয়োজনীয় প্যাকেজ

পূর্বশর্ত:

  1. একটি Linux সার্ভার: Ubuntu 22.04 / CentOS 9 / RHEL 9
  2. sudo বা root অ্যাক্সেস
  3. ২টি মেশিন: একটি সার্ভার, একটি ক্লায়েন্ট টেস্টের জন্য

প্রয়োজনীয় প্যাকেজ:

প্যাকেজের নামকাজইনস্টল কমান্ড
telnet-serverTelnet ডেমন in.telnetd চালায়CentOS/RHEL এ লাগে
telnetdUbuntu তে সার্ভার প্যাকেজUbuntu/Debian এ লাগে
xinetdSuper Server Daemon, পোর্ট 23 এ রিকোয়েস্ট আসলে telnetd চালু করেসব ডিস্ট্রোতে লাগে
telnetক্লায়েন্ট, অন্য সার্ভারে কানেক্ট করার জন্যসব ডিস্ট্রোতে লাগে

ইনস্টলেশন কমান্ড:

Ubuntu 22.04 / Debian 12:

sudo apt update
sudo apt install telnetd xinetd telnet -y

CentOS 9 / RHEL 9 / Rocky Linux:

Bash

sudo dnf install telnet-server telnet xinetd -y

ক্লারিফিকেশন: telnet-server প্যাকেজটি শুধু সার্ভার মেশিনে লাগবে। যে মেশিন থেকে কানেক্ট করবেন সেটায় শুধু telnet ক্লায়েন্ট হলেই হবে।


২. ডিরেক্টরি স্ট্রাকচার ও গুরুত্বপূর্ণ ফাইল

Telnet কনফিগার করার সময় এই ফাইলগুলো সম্পর্কে জানা জরুরি:

/etc/xinetd.d/telnet # Telnet সার্ভিস কনফিগারেশন। এখানে disable = no করতে হয়।
/etc/xinetd.conf # xinetd এর গ্লোবাল সেটিংস। সব সার্ভিসের জন্য কমন।
/etc/services # পোর্ট ডাটাবেস। এখানে telnet 23/tcp লেখা থাকে।
/usr/sbin/in.telnetd # Telnet ডেমনের আসল বাইনারি ফাইল।
/var/log/secure # RHEL/CentOS এ Telnet লগইন/ফেইল লগ থাকে।
/var/log/auth.log # Ubuntu/Debian এ Telnet লগইন/ফেইল লগ থাকে।

৩. স্টেপ বাই স্টেপ কনফিগারেশন

Step 1: Telnet সার্ভিস এনাবল করুন

xinetd এর অধীনে Telnet ডিফল্টভাবে disable থাকে।

Bash

sudo nano /etc/xinetd.d/telnet

ফাইলটি খুলে disable = yes লাইনটি disable = no করে দিন।

ফাইনাল কনফিগারেশন:

INI

#default: on

service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
only_from = 10.0.0.0/24 # স্পেশাল ইনস্ট্রাকশন: শুধু আপনার লোকাল নেটওয়ার্ক এলাও করুন
}

ক্লারিফিকেশন: only_from দিয়ে IP রেস্ট্রিকশন করা সিকিউরিটির জন্য বেস্ট প্র্যাকটিস। wait = no মানে মাল্টি-ইউজার কানেকশন এলাও করবে।

Step 2: xinetd সার্ভিস চালু ও এনাবল করুন

sudo systemctl start xinetd
sudo systemctl enable xinetd
sudo systemctl status xinetd # Active (running) দেখাবে

পোর্ট 23 লিসেন হচ্ছে কিনা চেক করুন:

Bash

sudo ss -tulpn | grep :23

আউটপুট: tcp LISTEN 0 64 *:23 *:* users:(("xinetd",pid=1234,fd=5))

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

পোর্ট 23 ডিফল্টভাবে বন্ধ থাকে। খুলে দিতে হবে।

Ubuntu/UFW:

sudo ufw allow 23/tcp
sudo ufw reload
sudo ufw status

CentOS/RHEL/firewalld:

sudo firewall-cmd –permanent –add-port=23/tcp
sudo firewall-cmd –reload
sudo firewall-cmd –list-ports

Step 4: SELinux ও ইউজার তৈরি – CentOS/RHEL এর জন্য

Telnet রুট ইউজারকে লগইন করতে দেয় না। একটি টেস্ট ইউজার বানান:

sudo adduser telnetuser
sudo passwd telnetuser # একটি পাসওয়ার্ড দিন, যেমন: Telnet@123

SELinux যদি Enforcing মোডে থাকে, তাহলে পলিসি অ্যাড করতে হতে পারে:

Bash

sudo setsebool -P telnetd_connect_network 1

৪. টেস্টিং ও ব্যবহারের উদাহরণ

ধরুন আপনার সার্ভারের IP: 10.0.0.1। ক্লায়েন্ট মেশিন থেকে কমান্ড দিন:

Bash

telnet 10.0.0.1

সফল আউটপুট:

Trying 10.0.0.1…
Connected to 10.0.0.1.
Escape character is ‘^]’.
Ubuntu 22.04.3 LTS
server01 login: telnetuser
Password:
Welcome to Ubuntu 22.04.3 LTS
telnetuser@server01:~$

সেশন থেকে বের হতে: exit লিখুন অথবা Ctrl + ] চেপে quit লিখুন।


৫. Academic Discussion: Telnet এর সিকিউরিটি অ্যানালাইসিস

৫.১. কেন Telnet অনিরাপদ? OSI মডেলের আলোকে

Telnet OSI Layer 7 – Application Layer এ কাজ করে। এর নিচের লেয়ারগুলোতে কোনো এনক্রিপশন নেই।

Wireshark প্র্যাকটিক্যাল: VM-Beta তে Wireshark চালু করে telnet 10.0.0.1 করুন এবং telnetuser দিয়ে লগইন করুন। Wireshark এ telnet ফিল্টার দিলে দেখবেন:

Code

TELNET Data: Password: Telnet@123

এখানে পাসওয়ার্ডটি সম্পূর্ণ প্লেইন টেক্সটে দেখা যাচ্ছে। এটি CIA Triad এর Confidentiality এবং Integrity দুটোই ভঙ্গ করে।

৫.২. Telnet vs SSH: একাডেমিক তুলনা

বৈশিষ্ট্যTelnetSSH (Secure Shell)একাডেমিক তাৎপর্য
স্ট্যান্ডার্ডRFC 854, 1969RFC 4251, 2006প্রোটোকল বিবর্তন
এনক্রিপশননেইAES-256, ChaCha20Cryptography এর প্রয়োগ
পোর্ট23/TCP22/TCPWell-known ports
অথেনটিকেশনPlaintext PasswordPassword, Public-Key, GSSAPIAuthentication Methods
ব্যান্ডউইথকম লাগেএনক্রিপশনের জন্য বেশিPerformance vs Security Trade-off
আধুনিক ব্যবহার০% প্রোডাকশনে৯৯% প্রোডাকশনেIndustry Standard

একাডেমিক উপসংহার: NIST SP 800-123 এবং ISO/IEC 27001 অনুযায়ী Telnet ব্যবহার করা একটি High Severity Vulnerability। তাই কম্পিউটার নেটওয়ার্ক ও সাইবার সিকিউরিটি কোর্সে Telnet পড়ানো হয় “Legacy Protocol Vulnerability Analysis” এর কেস স্টাডি হিসেবে।


৬. কমন এরর ও ট্রাবলশুটিং

এরর মেসেজকারণসমাধান
telnet: Unable to connect to remote host: Connection refusedxinetd চলছে না 2. পোর্ট 23 ফায়ারওয়ালে বন্ধsudo systemctl start xinetd, sudo ufw allow 23/tcp
telnet: Unable to connect to remote host: No route to hostনেটওয়ার্ক সমস্যা বা IP ভুলping 10.0.0.1 দিয়ে চেক করুন
Login incorrectভুল পাসওয়ার্ড 2. রুট দিয়ে লগইন ট্রাই করছেননন-রুট ইউজার ব্যবহার করুন। Telnet রুট এলাও করে না
telnetd: No login program found/usr/sbin/in.telnetd ফাইল মিসিংপ্যাকেজ রি-ইনস্টল করুন: sudo apt install --reinstall telnetd

৭. উপসংহার ও পরবর্তী ধাপ

আমরা এই টিউটোরিয়ালে ল্যাব এনভায়রনমেন্টে Telnet সেটআপ করা শিখলাম এবং একাডেমিক দৃষ্টিকোণ থেকে এর সিকিউরিটি রিস্ক অ্যানালাইসিস করলাম।

ফাইনাল রেকমেন্ডেশন: লিগ্যাসি সিস্টেম মেইনটেইন করা ছাড়া কখনোই Telnet ব্যবহার করবেন না। প্রোডাকশন সার্ভারের জন্য SSH একমাত্র নিরাপদ অপশন।

সিরিজের পরবর্তী পর্ব: SSH Key-Based Authentication in Linux - পাসওয়ার্ড ছাড়া সিকিউর লগইন। সেখানে আমরা শিখব কিভাবে ssh-keygen ও ssh-copy-id ব্যবহার করে সবচেয়ে সিকিউর উপায়ে সার্ভারে লগইন করতে হয়।

আপনার কোনো প্রশ্ন থাকলে ToLearnTeam.com এর কমেন্ট সেকশনে জানান।


nano কি এবং কেন ব্যবহার করবেন?

বিষয়ব্যাখ্যা
পুরো নামGNU nano
কাজটার্মিনালের ভিতরেই .txt, .conf, .sh এর মতো ফাইল তৈরি ও এডিট করা
কেন জনপ্রিয়খুবই সহজ, Notepad এর মতো 2. সব লিনাক্সে ডিফল্ট থাকে 3. মাউস লাগে না
বিকল্পvi/vim, emacs, micro। কিন্তু vim নতুনদের জন্য কঠিন

nano এর বেসিক ব্যবহার – Telnet ফাইলের উদাহরণে

আপনি যখন এই কমান্ড দেন:

Bash

sudo nano /etc/xinetd.d/telnet

১. ইন্টারফেস দেখতে কেমন:

GNU nano 6.2 /etc/xinetd.d/telnet

default: on

service telnet
{
disable = yes
flags = REUSE
socket_type = stream


^G Help ^O Write Out ^W Where Is ^K Cut ^T Execute
^X Exit ^R Read File ^\ Replace ^U Paste ^J Justify

নিচে ^X মানে Ctrl + X। এগুলোই শর্টকাট।

২. সবচেয়ে দরকারি ৫টি শর্টকাট:

শর্টকাটকাজকখন লাগবে
Ctrl + OWrite Out = ফাইল সেভ করাএডিট করার পর সেভ করতে
Ctrl + XExit = nano থেকে বের হওয়াকাজ শেষ হলে
Ctrl + WWhere Is = কোনো লেখা খোঁজাdisable লাইনটা খুঁজতে
Ctrl + KCut = লাইন কেটে দেওয়া/ডিলিটকোনো লাইন মুছতে
Ctrl + UPaste = কাট করা লাইন পেস্টলাইন কপি-পেস্ট করতে

৩. Telnet ফাইল এডিট করার সম্পূর্ণ প্রসেস:

Step 1: ফাইল ওপেন করুন

Bash

sudo nano /etc/xinetd.d/telnet

Step 2: Ctrl + W চাপুন, তারপর disable লিখে Enter দিন। কার্সর disable = yes লাইনে চলে যাবে।

Step 3: yes কেটে no লিখুন। এখন হবে disable = no

Step 4: Ctrl + O চাপুন → Enter চাপুন → ফাইল সেভ হবে

Step 5: Ctrl + X চাপুন → nano থেকে বের হয়ে যাবেন

nano vs vim: নতুনদের জন্য কোনটা?

ফিচারnanovim
শেখা2 মিনিটে শেখা যায়2 সপ্তাহ লাগতে পারে
বের হওয়াCtrl + X:q! বা :wq – অনেকে আটকে যায়
মোডকোনো মোড নেই, ডাইরেক্ট টাইপNormal, Insert, Visual মোড আছে
কাদের জন্যবিগিনার, সার্ভার কনফিগপ্রো ডেভেলপার, দ্রুত কোডিং

সারসংক্ষেপ: nano হলো লিনাক্সের Notepad। কনফিগ ফাইল এডিট করার সবচেয়ে সহজ উপায়। sudo দিয়ে ওপেন করলে সিস্টেম ফাইল এডিট করতে পারবেন।

GNU nano 6.2 শুধু দেখাচ্ছে এবং ফাইল খালি, মানে /etc/xinetd.d/telnet ফাইলটা এখনো তৈরি হয়নি।

কেন এমন হচ্ছে?

১. telnet-server ইনস্টল করেননি
Ubuntu তে telnetd ইনস্টল করলে সবসময় এই ফাইল অটো তৈরি হয় না।
২. ফাইলের নাম ভুল
৩. xinetd ইনস্টল নেই

সমাধান: স্টেপ বাই স্টেপ

Step 1: প্যাকেজগুলো আছে কিনা চেক করুন

Bash

dpkg -l | grep -E 'telnet|xinetd'

আউটপুটে telnetd এবং xinetd থাকতে হবে। না থাকলে ইনস্টল করুন:

Ubuntu/Debian:

Bash

sudo apt updatesudo apt install telnetd xinetd -y

CentOS/RHEL:

Bash

sudo dnf install telnet-server xinetd -y

Step 2: xinetd.d ডিরেক্টরি আছে কিনা চেক করুন

Bash

ls /etc/xinetd.d/

যদি No such file or directory দেখায়, তাহলে xinetd ইনস্টল হয়নি।

Step 3: ফাইলটি ম্যানুয়ালি তৈরি করুন

প্যাকেজ ইনস্টল করার পরও ফাইল না থাকলে নিজে বানিয়ে নিন:

Bash

sudo nano /etc/xinetd.d/telnet

এবার nano তে এই পুরো কনফিগটা কপি করে পেস্ট করুন:

INI

#default: on

#description: The telnet server serves telnet sessions

service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
instances = 100
}

তারপর সেভ করুন: Ctrl + O → Enter → Ctrl + X

Step 4: in.telnetd ফাইল আছে কিনা চেক করুন

xinetd এই বাইনারি ফাইলটা রান করে। লোকেশন চেক করুন:

Bash

ls /usr/sbin/in.telnetd

No such file আসলে telnetd প্যাকেজ ঠিকমতো ইনস্টল হয়নি। রি-ইনস্টল করুন:

Bash

sudo apt install --reinstall telnetd -y

Step 5: সার্ভিস রিস্টার্ট করুন

Bash

sudo systemctl restart xinetdsudo systemctl enable xinetdsudo ss -tulpn | grep :23

*:23 লিসেন দেখালে কাজ শেষ।

সংক্ষেপে আপনার করণীয়:

  1. sudo apt install telnetd xinetd -y রান করুন
  2. sudo nano /etc/xinetd.d/telnet দিয়ে উপরের কনফিগ পেস্ট করুন
  3. sudo systemctl restart xinetd

গুরুত্বপূর্ণ: CentOS 9/RHEL 9 এ telnet-server ডেপ্রিকেটেড। অনেক সময় dnf install telnet-server দিলেও ফাইল আসে না। সেক্ষেত্রে ম্যানুয়ালি বানানোই সমাধান।


sudo ss -tulpn | grep :23 এ কিছু না দেখানো মানে পোর্ট 23 এ কোনো সার্ভিস লিসেন করছে না। অর্থাৎ Telnet/xinetd চালু হয়নি বা এরর খাচ্ছে।

স্টেপ বাই স্টেপ ট্রাবলশুটিং

Step 1: xinetd চলছে কিনা চেক করুন

Bash

sudo systemctl status xinetd

৩ ধরনের আউটপুট আসতে পারে:

Case A: Active: inactive (dead)

Bash

sudo systemctl start xinetd
sudo systemctl enable xinetd

Case B: Active: active (running) কিন্তু পোর্ট 23 নাই
মানে xinetd চলছে কিন্তু telnet সার্ভিস লোড হয়নি। Step 2 দেখুন।

Case C: Failed with result 'exit-code'
কনফিগে এরর আছে। লগ দেখুন:

Bash

sudo journalctl -u xinetd -n 20 --no-pager

Step 2: telnet কনফিগ ফাইল ঠিক আছে কিনা চেক করুন

Bash

cat /etc/xinetd.d/telnet

মাস্ট থাকতে হবে:

INI

service telnet
{    disable = no          # এটা `no` হতে হবে, `yes` হলে চলবে না    
     server  = /usr/sbin/in.telnetd    # এই ফাইল থাকতে হবে
}

in.telnetd ফাইল আছে কিনা চেক করুন:

Bash

ls -l /usr/sbin/in.telnetd

No such file আসলে প্যাকেজ মিসিং:

Bash

# Ubuntu
sudo apt install --reinstall telnetd -y
# CentOS/RHEL
sudo dnf reinstall telnet-server -y

Step 3: xinetd রিস্টার্ট দিয়ে এরর চেক করুন

Bash

sudo systemctl restart xinetd

যদি এরর দেয়, তাহলে ডিটেইল লগ দেখুন:

Bash

sudo journalctl -xeu xinetd

কমন এরর:

  1. line 3: exec of /usr/sbin/in.telnetd failed → telnetd প্যাকেজ ইনস্টল নেই
  2. service/protocol error in /etc/xinetd.d/telnet → ফাইলে সিনট্যাক্স এরর, ব্র্যাকেট মিসিং

Step 4: ম্যানুয়ালি টেস্ট করুন

xinetd ছাড়া in.telnetd চলে কিনা দেখুন:

Bash

sudo /usr/sbin/in.telnetd

যদি in.telnetd: command not found আসে, তাহলে প্যাকেজ ইনস্টল হয়নি।

Step 5: Ubuntu 22.04+ এর স্পেশাল কেস

নতুন Ubuntu তে telnetd ইনস্টল করলেও অনেক সময় systemd socket ইউজ করে। xinetd লাগে না।

চেক করুন systemd socket আছে কিনা:

Bash

sudo systemctl status telnet.socket

যদি থাকে, তাহলে এটা এনাবল করুন:

Bash

sudo systemctl start telnet.socket
sudo systemctl enable telnet.socket

এক্ষেত্রে xinetd লাগবে না। ss -tulpn | grep :23 এ এখন দেখাবে।

কুইক ফিক্স সামারি – Ubuntu এর জন্য

আপনার জন্য সবচেয়ে সহজ সমাধান:

1. পুরানো কনফিগ ক্লিন করুন

sudo systemctl stop xinetd
sudo apt purge telnetd xinetd -y

2. নতুন করে ইনস্টল করুন

sudo apt update
sudo apt install telnetd xinetd -y

3. ফাইল ম্যানুয়ালি বানান

echo ‘service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}’ | sudo tee /etc/xinetd.d/telnet

4. চালু করুন

sudo systemctl restart xinetd
sudo systemctl enable xinetd

5. চেক করুন

sudo ss -tulpn | grep :23

এখন tcp LISTEN 0 64 *:23 *:* users:(("xinetd",...)) দেখাবে।


Server /usr/sbin/in.xinetd is not executable file এরর মানে /etc/xinetd.d/telnet ফাইলে server এর পাথ ভুল লিখেছেন।

আপনি লিখেছেন /usr/sbin/in.xinetd কিন্তু আসল ফাইল হবে /usr/sbin/in.telnetd।

xinetd হলো সুপার সার্ভার, আর in.telnetd হলো আসল telnet ডেমন।

সমাধান: ফাইল এডিট করুন

Step 1: ফাইল ওপেন করুন

Bash

sudo nano /etc/xinetd.d/telnet

Step 2: ভুল লাইন ঠিক করুন

ভুল কনফিগ:

INI

service telnet
{
    disable = no
    server  = /usr/sbin/in.xinetd    # এটা ভুল
}

সঠিক কনফিগ:

INI



service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd # telenetd, xinetd না
log_on_failure += USERID
}

in.xinetd কেটে in.telnetd লিখুন। x এর জায়গায় tel হবে।

সেভ করুন: Ctrl + O → Enter → Ctrl + X

Step 3: in.telnetd ফাইল আছে কিনা নিশ্চিত হন

Bash

ls -l /usr/sbin/in.telnetd

আউটপুট এমন হওয়া উচিত:

Code

-rwxr-xr-x 1 root root 12345 Jan 10 2025 /usr/sbin/in.telnetd

যদি No such file or directory আসে, তাহলে প্যাকেজ ইনস্টল হয়নি:

Ubuntu/Debian:

Bash

sudo apt install telnetd -y

CentOS/RHEL:

Bash

sudo dnf install telnet-server -y

Step 4: xinetd রিস্টার্ট করুন

Bash

sudo systemctl restart xinetd
sudo systemctl status xinetd

এখন Active: active (running) দেখাবে, এরর থাকবে না।

Step 5: পোর্ট 23 চেক করুন

Bash

sudo ss -tulpn | grep :23

আউটপুট:

Code

tcp   LISTEN 0      64     *:23     *:*    users:(("xinetd",pid=2345,fd=5))

কেন এই ভুল হয়?

xinetd এবং in.telnetd নাম দুটো কাছাকাছি। xinetd হলো ম্যানেজার, আর in.telnetd হলো ওয়ার্কার। xinetd পোর্ট 23 এ শোনে, কেউ কানেক্ট করলে in.telnetd চালু করে দেয়।

সহজ মনে রাখার উপায়:

  • xinetd = Extended Internet Services Daemon = ম্যানেজার
  • in.telnetd = Internet Telnet Daemon = আসল সার্ভার

কুইক ফিক্স ওয়ান-লাইনার:

Bash

sudo sed -i 's/in\.xinetd/in.telnetd/g' /etc/xinetd.d/telnet && sudo systemctl restart xinetd

এই কমান্ড in.xinetd খুঁজে in.telnetd দিয়ে রিপ্লেস করে xinetd রিস্টার্ট করবে।

The post Telnet কি? Linux সার্ভারে Telnet Server ইনস্টল, কনফিগার ও সিকিউরিটি রিস্ক appeared first on To Learn Team.

]]>
লিনাক্স সার্ভার কনফিগারেশন পার্ট-১: ইউজার ও অ্যাকাউন্ট ম্যানেজমেন্ট [A-Z গাইড] https://tolearnteam.com/linux-user-account-management-bangla-tutorial/ Tue, 04 Aug 2026 15:57:15 +0000 http://tolearnteam.com/?p=2028 লিনাক্স সার্ভারের নিরাপত্তার প্রথম ধাপ হলো সঠিক ইউজার ম্যানেজমেন্ট। root ইউজার দিয়ে সব কাজ করা ঝুঁকিপূর্ণ। তাই এই টিউটোরিয়ালে আমরা শিখব কিভাবে নতুন ইউজার বানাবেন, পারমিশন দেবেন এবং সিকিউরিটি নিশ্চিত করবেন। প্রয়োজনীয়…

The post লিনাক্স সার্ভার কনফিগারেশন পার্ট-১: ইউজার ও অ্যাকাউন্ট ম্যানেজমেন্ট [A-Z গাইড] appeared first on To Learn Team.

]]>
লিনাক্স সার্ভারের নিরাপত্তার প্রথম ধাপ হলো সঠিক ইউজার ম্যানেজমেন্ট। root ইউজার দিয়ে সব কাজ করা ঝুঁকিপূর্ণ। তাই এই টিউটোরিয়ালে আমরা শিখব কিভাবে নতুন ইউজার বানাবেন, পারমিশন দেবেন এবং সিকিউরিটি নিশ্চিত করবেন।

প্রয়োজনীয় প্যাকেজ: passwd, shadow-utils – এগুলো সাধারণত সব ডিস্ট্রোতে ডিফল্টভাবে থাকে।

Step 1: নতুন ইউজার তৈরি করা – useradd

এটি সবচেয়ে গুরুত্বপূর্ণ কমান্ড।

Bash

sudo useradd -m -s /bin/bash tolearn

ব্যাখ্যা:

  • sudo: অ্যাডমিন রাইট নিয়ে কমান্ড রান করা
  • useradd: নতুন ইউজার তৈরির কমান্ড
  • -m: ইউজারের জন্য /home/tolearn হোম ডিরেক্টরি তৈরি করবে
  • -s /bin/bash: ইউজারের ডিফল্ট শেল bash সেট করবে
  • tolearn: নতুন ইউজারের নাম

ডিরেক্টরি স্ট্রাকচার যা তৈরি হবে:

/home/
└── tolearn/ <– নতুন ইউজারের হোম
├── .bashrc
├── .profile
└── .bash_logout

গুরুত্বপূর্ণ ফাইল আপডেট হয়: /etc/passwd, /etc/shadow, /etc/group

Step 2: ইউজারের পাসওয়ার্ড সেট করা – passwd

ইউজার তৈরি করলেই সে লগইন করতে পারবে না। পাসওয়ার্ড সেট করতে হবে।

Bash

sudo passwd tolearn

এন্টার দেওয়ার পর নতুন পাসওয়ার্ড ২ বার দিতে বলবে।

Step 3: সব ইউজারের লিস্ট দেখা

Bash

cat /etc/passwd | cut -d: -f1

অথবা শুধু রিয়েল ইউজার দেখতে:

awk -F: ‘$3 >= 1000 && $1 != “nobody” {print $1}’ /etc/passwd

ব্যাখ্যা: UID 1000 থেকে সাধারণ ইউজার শুরু হয়।

Step 4: ইউজারের তথ্য পরিবর্তন – usermod

ইউজারকে sudo গ্রুপে যোগ করা:

Bash

sudo usermod -aG sudo tolearn

-aG: Append to Group. এটা না দিলে আগের সব গ্রুপ মুছে যাবে।

ইউজারের হোম ডিরেক্টরি চেঞ্জ:

Bash

sudo usermod -d /var/www/tolearn -m tolearn

Step 5: ইউজার অ্যাকাউন্ট ডিজেবল/এনাবল করা

১. পাসওয়ার্ড লক করে ডিজেবল:

sudo passwd -l tolearn # Lock
sudo passwd -u tolearn # Unlock

২. অ্যাকাউন্ট এক্সপায়ার করে ডিজেবল:

sudo chage -E 2026-01-01 tolearn # এই তারিখের পর লগইন বন্ধ
sudo chage -E -1 tolearn # আবার এনাবল করা

৩. শেল পরিবর্তন করে লগইন বন্ধ:

Bash

sudo usermod -s /sbin/nologin tolearn

Step 6: পারমিশন ও মালিকানা – chmod ও chown

ধরুন tolearn ইউজারকে /var/www/project ফোল্ডারের মালিকানা দিতে চান:

sudo chown -R tolearn:tolearn /var/www/project
sudo chmod -R 755 /var/www/project

ব্যাখ্যা:

  • chown -R: Recursively মালিকানা পরিবর্তন
  • tolearn:tolearn: ইউজার:গ্রুপ
  • chmod 755: Owner-এর সব রাইট, Group ও Others-এর Read+Execute

Step 7: ইউজার ডিলিট করা – userdel

Bash

sudo userdel -r tolearn

-r: হোম ডিরেক্টরি সহ ডিলিট করবে। সাবধান! ডেটা মুছে যাবে।


3. বোনাস টিপস: আমার সাজেশন

আপনার সিরিজে এই ২টা টপিক অবশ্যই যোগ করবেন:

  1. Sudoers File: /etc/sudoers ফাইল visudo দিয়ে এডিট করে পাসওয়ার্ড ছাড়া নির্দিষ্ট কমান্ড চালানোর পারমিশন দেওয়া।
  2. Password Policy: chage কমান্ড দিয়ে পাসওয়ার্ড কতদিন পর পর চেঞ্জ করতে হবে সেট করা। sudo chage -M 90 tolearn = ৯০ দিন পর পাসওয়ার্ড এক্সপায়ার।

4. সিরিজের পরবর্তী পর্বের আইডিয়া

Part-2: লিনাক্স ফাইল পারমিশন ও ACL মাস্টারক্লাস
Part-3: SSH Key-Based Authentication সেটআপ

The post লিনাক্স সার্ভার কনফিগারেশন পার্ট-১: ইউজার ও অ্যাকাউন্ট ম্যানেজমেন্ট [A-Z গাইড] appeared first on To Learn Team.

]]>