কীভাবে এসএফটিপি ব্যবহারকারীদের ক্রুট জেল ব্যবহার করে হোম ডিরেক্টরিতে সীমাবদ্ধ করবেন
এই টিউটোরিয়ালে, আমরা কীভাবে এসএফটিপি ব্যবহারকারীদের তাদের বাড়ির ডিরেক্টরি বা নির্দিষ্ট ডিরেক্টরিগুলিতে সীমাবদ্ধ রাখব তা নিয়ে আলোচনা করব। এর অর্থ ব্যবহারকারী কেবলমাত্র তার নিজের বাড়ির ডিরেক্টরিতে অ্যাক্সেস করতে পারবেন, পুরো ফাইল সিস্টেমটি নয়।
ব্যবহারকারীদের হোম ডিরেক্টরিগুলি সীমাবদ্ধ করা বিশেষত একটি ভাগ করা সার্ভার পরিবেশে গুরুত্বপূর্ণ, যাতে অননুমোদিত ব্যবহারকারী অন্য ব্যবহারকারীর ফাইল এবং ফোল্ডারগুলিতে উঁকি দেয় না।
গুরুত্বপূর্ণ: দয়া করে নোট করুন যে এই নিবন্ধটির উদ্দেশ্য কেবলমাত্র এসএফটিপি অ্যাক্সেস সরবরাহ করা, এসএসএইচ লগইন নয়, এই নিবন্ধটি অনুসরণ করে ফাইল স্থানান্তর করার অনুমতি থাকবে, তবে দূরবর্তী এসএসএইচ অধিবেশন করার অনুমতি নেই।
এটি করার সহজতম উপায় হ'ল এসএফটিপি অ্যাক্সেসের জন্য জেল পরিবেশ তৈরি করা। এই পদ্ধতিটি সমস্ত ইউনিক্স/লিনাক্স অপারেটিং সিস্টেমের জন্য একই। ক্রোটেড এনভায়রনমেন্ট ব্যবহার করে আমরা ব্যবহারকারীদের তাদের হোম ডিরেক্টরি বা একটি নির্দিষ্ট ডিরেক্টরিতে সীমাবদ্ধ করতে পারি।
ব্যবহারকারীদের হোম ডিরেক্টরিতে সীমাবদ্ধ করুন
এই বিভাগে, আমরা sftpgroup নামক একটি নতুন গ্রুপ তৈরি করব এবং ব্যবহারকারীর অ্যাকাউন্টগুলিতে সঠিক মালিকানা এবং অনুমতিগুলি অর্পণ করব। ব্যবহারকারীদের বাড়িতে বা নির্দিষ্ট ডিরেক্টরিগুলিতে সীমাবদ্ধ করার জন্য দুটি পছন্দ রয়েছে, আমরা এই নিবন্ধে উভয়ভাবেই দেখতে পাব।
আসুন আমরা বিদ্যমান ব্যবহারকারীর জন্য টেকমিন্ট
উদাহরণস্বরূপ তার /home/tecmint নামক হোম ডিরেক্টরিতে সীমাবদ্ধ রাখি। এর জন্য আপনাকে গ্রুপপ্যাড কমান্ড ব্যবহার করে একটি নতুন এসফ্টগ্রুপ গ্রুপ তৈরি করতে হবে যা প্রদর্শিত হবে:
# groupadd sftpgroup
এরপরে, ব্যবহারকারীকে 'টেকমিন্ট' এসফ্টগ্রুপ গ্রুপে বরাদ্দ করুন।
# usermod -G sftpgroup tecmint
আপনি ইউর্যাডড কমান্ড ব্যবহার করে একটি নতুন ব্যবহারকারী তৈরি করতে পারেন, উদাহরণস্বরূপ সেন্থিল
এবং ব্যবহারকারীকে স্টেপপিউজার গ্রুপে বরাদ্দ করুন।
# adduser senthil -g sftpgroup -s /sbin/nologin # passwd tecmint
/etc/ssh/sshd_config
কনফিগারেশন ফাইলটিতে নিম্নলিখিত লাইনগুলি খুলুন এবং যুক্ত করুন।
Subsystem sftp internal-sftp Match Group sftpgroup ChrootDirectory /home ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no
ফাইলটি সংরক্ষণ এবং প্রস্থান করুন, নতুন পরিবর্তনগুলি কার্যকর হওয়ার জন্য sshd পরিষেবাটি পুনরায় চালু করুন।
# systemctl restart sshd OR # service sshd restart
আপনি যদি একই ডিরেক্টরিতে একাধিক ব্যবহারকারীকে আঁকেন, আপনার ব্যবহারকারীর একে অপরের ব্যবহারকারীর হোম ডিরেক্টরি ব্রাউজ করতে বাধা দেওয়ার জন্য আপনার প্রতিটি ব্যবহারকারীর হোম ডিরেক্টরিগুলির অনুমতি পরিবর্তন করা উচিত।
# chmod 700 /home/tecmint
এখন, স্থানীয় সিস্টেম থেকে লগইন পরীক্ষা করার সময় এসেছে। আপনার স্থানীয় সিস্টেম থেকে আপনার দূরবর্তী সিস্টেমটি ছড়িয়ে দেওয়ার চেষ্টা করুন।
# ssh [email
এখানে,
- টেকমিন্ট - রিমোট সিস্টেমের ব্যবহারকারীর নাম
- 192.168.1.150 - রিমোট সিস্টেমের আইপি ঠিকানা
[email 's password: Could not chdir to home directory /home/tecmint: No such file or directory This service allows sftp connections only. Connection to 192.168.1.150 closed.
তারপরে, এসএফটিপি ব্যবহার করে দূরবর্তী সিস্টেমে অ্যাক্সেস করুন।
# sftp [email
[email 's password: Connected to 192.168.1.150. sftp>
আসুন আমরা বর্তমান কার্যকারী ডিরেক্টরিটি পরীক্ষা করি:
sftp> pwd Remote working directory: / sftp> ls tecmint
এখানে টেকমিন্ট
হোম ডিরেক্টরি। টেকমিন্ট ডিরেক্টরিতে সিডি করুন এবং আপনার পছন্দসই ফাইল বা ফোল্ডার তৈরি করুন।
sftp> cd tecmint Remote working directory: / sftp> mkdir test tecmint
ব্যবহারকারীদের একটি নির্দিষ্ট ডিরেক্টরিতে সীমাবদ্ধ করুন
আমাদের পূর্ববর্তী উদাহরণে, আমরা বিদ্যমান ব্যবহারকারীদের হোম ডিরেক্টরিতে সীমাবদ্ধ করি। এখন, আমরা কীভাবে একটি নতুন ব্যবহারকারীকে কাস্টম ডিরেক্টরিতে সীমাবদ্ধ করব তা দেখব।
একটি নতুন গোষ্ঠী তৈরি করুন sftproup
।
# groupadd sftpgroup
এরপরে, এসএফটিপি গ্রুপের জন্য একটি ডিরেক্টরি তৈরি করুন এবং মূল ব্যবহারকারীর জন্য অনুমতি বরাদ্দ করুন।
# mkdir -p /sftpusers/chroot # chown root:root /sftpusers/chroot/
এরপরে, প্রতিটি ব্যবহারকারীর জন্য নতুন ডিরেক্টরি তৈরি করুন, এতে তাদের সম্পূর্ণ অ্যাক্সেস থাকবে। উদাহরণস্বরূপ, আমরা টেকমিন্ট
ব্যবহারকারী তৈরি করব এবং এটি নিম্নলিখিত সিরিজের কমান্ডের সাহায্যে সঠিক গোষ্ঠী অনুমতি সহ নতুন হোম ডিরেক্টরি তৈরি করব।
# adduser tecmint -g sftpgroup -s /sbin/nologin # passwd tecmint # mkdir /sftpusers/chroot/tecmint # chown tecmint:sftpgroup /sftpusers/chroot/tecmint/ # chmod 700 /sftpusers/chroot/tecmint/
ফাইলের শেষে নিম্নলিখিত লাইনগুলি সংশোধন বা যুক্ত করুন:
#Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp Match Group sftpgroup ChrootDirectory /sftpusers/chroot/ ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no
ফাইলটি সংরক্ষণ করুন এবং প্রস্থান করুন। সংরক্ষিত পরিবর্তনগুলি কার্যকর করতে sshd পরিষেবা পুনরায় চালু করুন।
# systemctl restart sshd OR # service sshd restart
এটি হ'ল আপনি যাচাই করুন এসএসএইচ এবং এসএফটিপি লগইন-এ উপরে সরবরাহিত পদক্ষেপটি ব্যবহার করে আপনার দূরবর্তী এসএসএইচ এবং এসএফটিপি সার্ভারে লগ ইন করে চেক করতে পারেন।
মনে রাখবেন যে এই পদ্ধতিটি শেল অ্যাক্সেসকে অক্ষম করবে, অর্থাৎ আপনি এসএসএইচ ব্যবহার করে দূরবর্তী সিস্টেমের শেল সেশনটি অ্যাক্সেস করতে পারবেন না। আপনি কেবল এসএফটিপি এর মাধ্যমে দূরবর্তী সিস্টেমগুলিতে অ্যাক্সেস করতে পারবেন এবং স্থানীয় এবং দূরবর্তী সিস্টেমে ফাইল ট্রান্সফার করতে পারেন।
উপসংহার
এখন আপনি কীভাবে লিনাক্সে ক্রোট পরিবেশ ব্যবহার করে ব্যবহারকারীদের হোম ডিরেক্টরিগুলি সীমাবদ্ধ করবেন তা জানেন know আপনি যদি এটি দরকারী মনে করেন তবে আপনার সামাজিক নেটওয়ার্কগুলিতে এই নিবন্ধটি ভাগ করুন এবং ব্যবহারকারীদের হোম ডিরেক্টরিগুলি সীমাবদ্ধ করার জন্য যদি অন্য কোনও পদ্ধতি থাকে তবে নীচের মন্তব্য বিভাগে আমাদের জানান।