উইন্ডোজে ফাইল শেয়ারিংয়ের জন্য উবুন্টুতে সাম্বা কীভাবে ইনস্টল করবেন


সাম্বা একটি মুক্ত/ওপেন উত্স এবং একই নেটওয়ার্কে লিনাক্স এবং উইন্ডোজ হোস্ট সহ ইউনিক্সের মতো সিস্টেমের মধ্যে ফাইল এবং মুদ্রণ পরিষেবা ভাগ করে নেওয়ার জন্য জনপ্রিয়ভাবে ব্যবহৃত সফ্টওয়্যার।

এই গাইডটিতে আমরা একটি উবুন্টু সিস্টেম এবং উইন্ডোজ মেশিনের মধ্যে বেসিক ফাইল শেয়ারিংয়ের জন্য সাম্বা 4 সেটআপ করার পদ্ধতিটি দেখাব। আমরা দুটি সম্ভাব্য পরিস্থিতি coverেকে রাখব: বেনাম (অনিরাপদ) পাশাপাশি সুরক্ষিত ফাইল ভাগ করে নেওয়া।

নোট করুন যে সংস্করণ 4.0 থেকে শুরু করে, সাম্বাকে একটি অ্যাক্টিভ ডিরেক্টরি (AD) ডোমেন নিয়ামক (ডিসি) হিসাবে ব্যবহার করা যেতে পারে। আমরা সাম্বা 4 অ্যাক্টিভ ডিরেক্টরি ডোমেন কন্ট্রোলার স্থাপনের জন্য একটি বিশেষ সিরিজ আয়োজন করেছি, যা উবুন্টু, সেন্টোস এবং উইন্ডোজের অধীনে মূল বিষয় নিয়ে গঠিত।

  1. সাম্বা 4 অ্যাক্টিভ ডিরেক্টরি ডোমেন কন্ট্রোলার সেট করা হচ্ছে

উবুন্টুতে সাম্বা ইনস্টল এবং কনফিগার করুন

সাম্পা সার্ভারটি পূর্বনির্ধারিত উবুন্টু সংগ্রহস্থল থেকে অ্যাপটি প্যাকেজ ম্যানেজারের সরঞ্জাম হিসাবে ব্যবহারের জন্য ইনস্টল করার জন্য উপলব্ধ।

$ sudo apt install samba samba-common python-dnspython

একবার সাম্বা সার্ভার ইনস্টল হওয়ার পরে এখন সাম্বা সার্ভারটি কনফিগার করার সময়: অনিরাপদ বেনামে এবং নিরাপদে ফাইল ভাগ করে নেওয়া।

এর জন্য, আমাদের মূল সাম্বা কনফিগারেশন ফাইল /etc/samba/smb.conf (যা বিভিন্ন কনফিগারেশন নির্দেশাবলী ব্যাখ্যা করে) সম্পাদনা করতে হবে।

নীচে প্রথমে মূল সাম্বা কনফিগারেশন ফাইলটি ব্যাকআপ করুন।

$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

এরপরে, আমরা নীচে বর্ণিত হিসাবে বেনামে এবং সুরক্ষিত ফাইল ভাগ করে নেওয়ার পরিষেবাদির জন্য সাম্বা কনফিগার করতে এগিয়ে যাব।

গুরুত্বপূর্ণ: আরও কিছু সরানোর আগে উইন্ডোজ মেশিনটি একই ওয়ার্কগ্রুপে রয়েছে যা উবুন্টু সার্ভারে কনফিগার করা হবে।

আপনার উইন্ডোজ মেশিনে লগইন করুন, ওয়ার্কগ্রুপটি যাচাই করতে "এই পিসি" বা "আমার কম্পিউটার" → বৈশিষ্ট্যগুলি → উন্নত সিস্টেম সেটিংস → কম্পিউটারের নামটিতে ডান ক্লিক করুন।

বিকল্পভাবে, কমান্ড প্রম্পটটি খুলুন এবং নীচের কমান্ডটি চালিয়ে এটি দেখুন এবং "ওয়ার্কস্টেশন ডোমেন" সন্ধান করুন।

>net config workstation

আপনি একবার জানলে আপনার উইন্ডোজ ওয়ার্কগ্রুপটি তার সময় এগিয়ে যাওয়ার এবং ফাইল ভাগ করে নেওয়ার জন্য সাম্বা সার্ভারটি কনফিগার করতে।

বেনামে সাম্বা ফাইল ভাগ করে নেওয়া

প্রথমে একটি ভাগ করা সাম্বা ডিরেক্টরি তৈরি করে শুরু করুন যেখানে ফাইলগুলি সংরক্ষণ করা হবে।

$ sudo mkdir -p /srv/samba/anonymous_shares

তারপরে ডিরেক্টরিতে উপযুক্ত অনুমতি সেট করুন।

$ sudo chmod -R 0775 /srv/samba/anonymous_shares
$ sudo chown -R nobody:nogroup /srv/samba/anonymous_shares

এখন কনফিগারেশন ফাইল খুলুন।

$ sudo vi /etc/samba/smb.conf
OR
$ sudo nano /etc/samba/smb.conf

নীচে বর্ণিত নির্দেশিক সেটিংস পরবর্তী সম্পাদনা বা সংশোধন করুন।

global]
	workgroup = WORKGROUP
	netbios name = ubuntu
	security = user
[Anonymous]
	comment = Anonymous File Server Share
	path = /srv/samba/anonymous_shares
	browsable =yes
	writable = yes
	guest ok = yes
	read only = no
	force user = nobody

এখন নীচের কমান্ডটি চালিয়ে বর্তমান সাম্বা সেটিংস যাচাই করুন।

$ testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
	netbios name = UBUNTU
	server string = %h server (Samba, Ubuntu)
	server role = standalone server
	map to guest = Bad User
	obey pam restrictions = Yes
	pam password change = Yes
	passwd program = /usr/bin/passwd %u
	passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
	unix password sync = Yes
	syslog = 0
	log file = /var/log/samba/log.%m
	max log size = 1000
	dns proxy = No
	usershare allow guests = Yes
	panic action = /usr/share/samba/panic-action %d
	idmap config * : backend = tdb

[printers]
	comment = All Printers
	path = /var/spool/samba
	create mask = 0700
	printable = Yes
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/printers
	browseable = No
[Anonymous]
	comment = Anonymous File Server Share
	path = /srv/samba/anonymous_shares
	force user = nobody
	read only = No
	guest ok = Yes

তারপরে উপরের পরিবর্তনগুলি কার্যকর করতে সাম্বা পরিষেবাগুলি পুনরায় চালু করুন।

$ sudo systemctl restart smbd   [Systemd]
$ sudo service smbd restart     [Sys V]

উইন্ডোজ মেশিনে যান এবং একটি উইন্ডোজ এক্সপ্লোরার উইন্ডো থেকে "নেটওয়ার্ক" খুলুন। উবুন্টু হোস্টটিতে ক্লিক করুন (আমাদের ক্ষেত্রে TECMINT), নাহলে সাম্বা সার্ভারের আইপি ঠিকানা ব্যবহার করে অ্যাক্সেস করার চেষ্টা করুন।

\2.168.43.168

দ্রষ্টব্য: আপনার উবুন্টু সার্ভারের আইপি ঠিকানা পেতে ifconfig কমান্ডটি ব্যবহার করুন।

তারপরে অনামী ডিরেক্টরিটি খুলুন এবং অন্যান্য ব্যবহারকারীদের সাথে ভাগ করার জন্য সেখানে ফাইল যুক্ত করার চেষ্টা করুন।

নিরাপদে সাম্বা ফাইল ভাগ করে নেওয়া

সাম্বা ভাগটিকে পাসওয়ার্ড-সুরক্ষার জন্য আপনাকে একটি গ্রুপ "এসএমবিগ্রিপি" তৈরি করতে হবে এবং প্রতিটি ব্যবহারকারীর জন্য একটি পাসওয়ার্ড সেট করতে হবে। এই উদাহরণে আমি আড়োনকিলিক ব্যবহারকারী এবং পাসওয়ার্ড হিসাবে "টেকমিন্ট" হিসাবে ব্যবহার করি।

$ sudo addgroup smbgrp
$ sudo usermod aaronkilik -aG smbgrp
$ sudo smbpasswd -a aaronkilik

দ্রষ্টব্য: সাম্বা সুরক্ষা মোড: সুরক্ষা = ব্যবহারকারীর কাছে ক্লায়েন্টদের শেয়ারের সাথে সংযোগ স্থাপনের জন্য একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড প্রবেশ করা প্রয়োজন।

সাম্বা ব্যবহারকারী অ্যাকাউন্টগুলি সিস্টেম অ্যাকাউন্ট থেকে পৃথক, তবে, আপনি বিকল্পভাবে libpam-winbind প্যাকেজ ইনস্টল করতে পারেন যা সাম্বা ব্যবহারকারী ডাটাবেসের সাথে সিস্টেম ব্যবহারকারী এবং পাসওয়ার্ড সিঙ্ক করতে ব্যবহৃত হয়।

$ sudo apt install libpam-winbind

তারপরে সেই নিরাপদ ডিরেক্টরি তৈরি করুন যেখানে ভাগ করা ফাইলগুলি রাখা হবে।

$ sudo mkdir -p /srv/samba/secure_shares

এরপরে, ডিরেক্টরিতে উপযুক্ত অনুমতি সেট করুন।

$ sudo chmod -R 0770 /srv/samba/secure_shares
$ sudo chown -R root:smbgrp /srv/samba/secure_shares

এখন কনফিগারেশন ফাইল খুলুন।

$ sudo vi /etc/samba/smb.conf
OR
$ sudo nano /etc/samba/smb.conf

নীচে বর্ণিত নির্দেশিক সেটিংস পরবর্তী সম্পাদনা বা সংশোধন করুন।

[Secure]
	comment = Secure File Server Share
	path =  /srv/samba/secure_shares
	valid users = @smbgrp
	guest ok = no
	writable = yes
	browsable = yes

ঠিক আগের মতো, আপনার বর্তমান সাম্বা সেটিংস দেখতে এই আদেশটি চালান।

$ testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
	netbios name = UBUNTU
	server string = %h server (Samba, Ubuntu)
	server role = standalone server
	map to guest = Bad User
	obey pam restrictions = Yes
	pam password change = Yes
	passwd program = /usr/bin/passwd %u
	passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
	unix password sync = Yes
	syslog = 0
	log file = /var/log/samba/log.%m
	max log size = 1000
	dns proxy = No
	usershare allow guests = Yes
	panic action = /usr/share/samba/panic-action %d
	idmap config * : backend = tdb
[printers]
	comment = All Printers
	path = /var/spool/samba
	create mask = 0700
	printable = Yes
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/printers
	browseable = No
[Anonymous]
	comment = Anonymous File Server Share
	path = /srv/samba/anonymous_shares
	force user = nobody
	read only = No
	guest ok = Yes
[Secure]
	comment = Secure File Server Share
	path = /srv/samba/secure_shares
	valid users = @smbgrp
	read only = No

উপরের কনফিগারেশনগুলি সম্পন্ন করার পরে, পরিবর্তনগুলি প্রয়োগ করতে সাম্বা পরিষেবাগুলি পুনরায় চালু করুন।

$ sudo systemctl restart smbd   [Systemd]
$ sudo service smbd restart     [Sys V]

উইন্ডোজ মেশিনে আগের মতো এবং উইন্ডোজ এক্সপ্লোরার উইন্ডো থেকে "নেটওয়ার্ক" খুলুন। উবুন্টু হোস্টটিতে ক্লিক করুন (আমাদের ক্ষেত্রে TECMINT)। আপনি যদি পরবর্তী পদক্ষেপে না যান তবে আপনি নীচের ত্রুটিটি পেতে পারেন।

সার্ভারের আইপি ঠিকানা ব্যবহার করে অ্যাক্সেস করার চেষ্টা করুন, উদাঃ \\ 192.168.43.168 পছন্দ করুন। তারপরে আরোনকিলিক ব্যবহারকারীর শংসাপত্রগুলি (ব্যবহারকারীর নাম এবং পাসওয়ার্ড) লিখুন এবং ঠিক আছে ক্লিক করুন।

আপনি এখন সমস্ত ভাগ করা ডিরেক্টরি দেখতে পাবেন, এটি খুলতে সিকিউরে ক্লিক করুন।

আপনি এই ডিরেক্টরিতে ড্রপ করে নেটওয়ার্কে অন্য অনুমোদিত ব্যবহারকারীদের সাথে কিছু ফাইল সুরক্ষিতভাবে ভাগ করতে পারেন।

উবুন্টুতে ইউএফডাব্লু ফায়ারওয়ালে সাম্বা সক্ষম করুন

আপনার সিস্টেমে যদি ইউএফডাব্লু ফায়ারওয়াল সক্ষম/সক্রিয় থাকে তবে সাম্বাকে আপনার ফায়ারওয়ালের মধ্য দিয়ে যাওয়ার জন্য আপনাকে অবশ্যই বিধিগুলি যুক্ত করতে হবে।

এটি পরীক্ষা করার জন্য, আমরা 192.168.43.0 নেটওয়ার্ক স্কিম ব্যবহার করেছি। আপনার নেটওয়ার্ক ঠিকানা নির্দিষ্ট করে নীচের কমান্ডগুলি চালান।

$ sudo ufw allow proto udp to any port 137 from 192.168.43.0/24
$ sudo ufw allow proto udp to any port 138 from 192.168.43.0/24
$ sudo ufw allow proto tcp to any port 139 from 192.168.43.0/24
$ sudo ufw allow proto tcp to any port 445 from 192.168.43.0/24

আপনি কোনও নেটওয়ার্কে সাম্বা ফাইল ভাগ করে নেওয়ার বিষয়ে এই দরকারী নিবন্ধগুলিও পরীক্ষা করে দেখতে পারেন।

  1. সাম্বা 4 অ্যাক্টিভ ডিরেক্টরি ডোমেন কন্ট্রোলার সেট করা হচ্ছে - পর্ব 1 থেকে 14
  2. লিনাক্সে স্থানীয় এবং নেটওয়ার্ক (সাম্বা এবং এনএফএস) ফাইল সিস্টেমগুলি কীভাবে মাউন্ট/আনমাউন্ট করবেন
  3. এসিএল (অ্যাক্সেস কন্ট্রোল তালিকাগুলি) এবং মাউন্টিং সাম্বা/এনএফএস শেয়ার
  4. ব্যবহার করা
  5. লিনাক্স সিস্টেমে সাম্বাক্রি অরক্ষতা (সিভিই -2017-7494) কীভাবে ঠিক করবেন

এখানেই শেষ! এই গাইডটিতে, আমরা আপনাকে দেখিয়েছি কীভাবে উবুন্টু এবং উইন্ডোজ মেশিনগুলির মধ্যে বেনামি এবং সুরক্ষিত ফাইল ভাগ করে নেওয়ার জন্য সাম্বা 4 সেটআপ করবেন। আমাদের সাথে কোনও চিন্তা ভাগ করতে নীচের প্রতিক্রিয়া ফর্মটি ব্যবহার করুন।