অ্যান্ড্রয়েড

কীভাবে Sftp ক্রুট জেল স্থাপন করবেন

সেন্টওএস 7 - Chroot জেল সঙ্গে সেটআপ এসএফটিপি

সেন্টওএস 7 - Chroot জেল সঙ্গে সেটআপ এসএফটিপি

সুচিপত্র:

Anonim

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

একটি এসএফটিপি গ্রুপ তৈরি করা হচ্ছে

প্রতিটি ব্যবহারকারীর জন্য স্বতন্ত্রভাবে ওপেনএসএইচ সার্ভারটি কনফিগার করার পরিবর্তে আমরা একটি নতুন গ্রুপ তৈরি করব এবং আমাদের গোষ্ঠীযুক্ত সমস্ত ব্যবহারকারীকে এই গোষ্ঠীতে যুক্ত করব।

sftponly ব্যবহারকারী গোষ্ঠী তৈরি করতে নিম্নলিখিত groupadd কমান্ডটি চালান:

sudo groupadd sftponly আপনি নিজের ইচ্ছামতো গ্রুপটির নাম রাখতে পারেন।

ব্যবহারকারীদের এসএফটিপি গ্রুপে যুক্ত করা হচ্ছে

পরবর্তী পদক্ষেপটি আপনি যে ব্যবহারকারীদের sftponly গ্রুপে সীমাবদ্ধ রাখতে চান তা যুক্ত করা।

এটি যদি নতুন সেটআপ হয় এবং ব্যবহারকারীর অস্তিত্ব না থাকে আপনি টাইপ করে একটি নতুন ব্যবহারকারী অ্যাকাউন্ট তৈরি করতে পারেন:

sudo useradd -g sftponly -s /bin/false -m -d /home/username username

  • -g sftponly বিকল্পটি ব্যবহারকারীকে sftponly গ্রুপে যুক্ত করবে--s -s /bin/false বিকল্পটি ব্যবহারকারীর লগইন শেল সেট করে। লগইন শেলটি /bin/false করে ব্যবহারকারী এসএসএইচ-এর মাধ্যমে সার্ভারে লগইন করতে সক্ষম হবে না m -m -d /home/username বিকল্পগুলি ব্যবহারকারীর হোম ডিরেক্টরি তৈরি করতে ইউজারডকে বলে।

সদ্য নির্মিত ব্যবহারকারীদের জন্য একটি শক্তিশালী পাসওয়ার্ড সেট করুন:

sudo passwd username

অন্যথায় আপনি যদি ব্যবহারকারীকে ইতিমধ্যে সীমাবদ্ধ রাখতে চান তবে ব্যবহারকারীকে sftponly গ্রুপে যুক্ত করুন এবং ব্যবহারকারীর শেল পরিবর্তন করুন:

sudo usermod -G sftponly -s /bin/false username2

ব্যবহারকারীর হোম ডিরেক্টরিটি অবশ্যই মূলের মালিকানাধীন এবং 755 অনুমতি থাকতে হবে:

sudo chown root: /home/username sudo chmod 755 /home/username

যেহেতু ব্যবহারকারীদের হোম ডিরেক্টরিগুলি মূল ব্যবহারকারীর মালিকানাধীন, এই ব্যবহারকারীরা তাদের হোম ডিরেক্টরিতে ফাইল এবং ডিরেক্টরি তৈরি করতে সক্ষম হবেন না। যদি ব্যবহারকারীর বাড়িতে কোনও ডিরেক্টরি না থাকে তবে আপনাকে নতুন ডিরেক্টরি তৈরি করতে হবে যা ব্যবহারকারীর সম্পূর্ণ অ্যাক্সেস পাবে। উদাহরণস্বরূপ, আপনি নিম্নলিখিত ডিরেক্টরিগুলি তৈরি করতে পারেন:

sudo mkdir /home/username/{public_html, uploads} sudo chmod 755 /home/username/{public_html, uploads} sudo chown username:sftponly /home/username/{public_html, uploads} sudo chmod 755 /home/username/{public_html, uploads} sudo chown username:sftponly /home/username/{public_html, uploads}

যদি কোনও ওয়েব অ্যাপ্লিকেশন ব্যবহারকারীর public_html ডিরেক্টরিটি ডকুমেন্ট রুট হিসাবে ব্যবহার করে থাকে তবে এই পরিবর্তনগুলি অনুমতি সংক্রান্ত সমস্যার কারণ হতে পারে। উদাহরণস্বরূপ, আপনি যদি ওয়ার্ডপ্রেস চালিয়ে যাচ্ছেন তবে আপনাকে এমন একটি পিএইচপি পুল তৈরি করতে হবে যা ব্যবহারকারীর ফাইলগুলির মালিক হিসাবে চালানো হবে এবং ওয়েবেস sftponly গ্রুপে যুক্ত করা হবে।

এসএসএইচ কনফিগার করা হচ্ছে

এসএফটিপি হ'ল এসএসএইচের একটি সাবসিস্টেম এবং সমস্ত এসএসএইচ প্রমাণীকরণ প্রক্রিয়া সমর্থন করে।

আপনার পাঠ্য সম্পাদকের সাহায্যে এসএসএইচ কনফিগারেশন ফাইল /etc/ssh/sshd_config খুলুন:

sudo nano /etc/ssh/sshd_config

Subsystem sftp দিয়ে শুরু হওয়া লাইনটি অনুসন্ধান করুন, সাধারণত ফাইলের শেষে। লাইনটি যদি একটি হ্যাশ দিয়ে শুরু হয় # হ্যাশটি সরান # এবং নীচের মত দেখতে এটি পরিবর্তন করুন:

জন্য / etc / SSH / sshd_config

Subsystem sftp internal-sftp

ফাইলের শেষের দিকে, নীচের সেটিংসের ব্লক:

জন্য / etc / SSH / sshd_config

Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no

ChrootDirectory নির্দেশিকা ক্রুট ডিরেক্টরিতে পাথ নির্দিষ্ট করে। %h অর্থ ব্যবহারকারীর হোম ডিরেক্টরি। এই ডিরেক্টরিটি অবশ্যই মূল ব্যবহারকারীর মালিকানাধীন এবং অন্য কোনও ব্যবহারকারী বা গোষ্ঠীর দ্বারা লিখিতযোগ্য নয়।

এসএসএইচ কনফিগারেশন ফাইলটি সংশোধন করার সময় অতিরিক্ত সতর্কতা অবলম্বন করুন। ভুল কনফিগারেশনটি এসএসএইচ পরিষেবাটি আরম্ভ করতে ব্যর্থ হতে পারে।

একবার আপনি ফাইলটি সংরক্ষণ করুন এবং পরিবর্তনগুলি প্রয়োগ করতে এসএসএইচ পরিষেবাটি পুনরায় চালু করুন:

sudo systemctl restart ssh

CentOS এবং ফেডোরায় ssh sshd নাম দেওয়া হয়েছে sshd :

sudo systemctl restart sshd

কনফিগারেশন পরীক্ষা করা হচ্ছে

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

দূরবর্তী সার্ভারের ব্যবহারকারীর নাম এবং সার্ভারের আইপি ঠিকানা বা ডোমেন নাম অনুসরণ করে sftp কমান্ডটি ব্যবহার করে একটি SFTP সংযোগ খুলুন:

sftp [email protected]

আপনাকে ব্যবহারকারীর পাসওয়ার্ড লিখতে অনুরোধ জানানো হবে। একবার সংযুক্ত হয়ে গেলে, রিমোট সার্ভারটি একটি নিশ্চিতকরণ বার্তা এবং sftp> প্রম্পট প্রদর্শন করবে:

[email protected]'s password: sftp>

নীচে প্রদর্শিত pwd কমান্ডটি চালান, এবং প্রত্যাশা অনুযায়ী সবকিছু যদি কাজ করে তবে কমান্ডটি ফিরে আসবে /

sftp> pwd Remote working directory: /

আপনি ls কমান্ডটি ব্যবহার করে দূরবর্তী ফাইল এবং ডিরেক্টরিগুলি তালিকাভুক্ত করতে পারেন এবং আমরা পূর্বে যে ডিরেক্টরিগুলি তৈরি করেছি সেগুলি আপনাকে দেখতে হবে:

sftp> ls public_html uploads

উপসংহার

এই টিউটোরিয়ালে, আপনি শিখলেন কীভাবে আপনার লিনাক্স সার্ভারে একটি এসএফটিপি ক্রুট জেল পরিবেশ সেটআপ করতে হবে এবং তাদের হোম ডিরেক্টরিতে ব্যবহারকারীদের অ্যাক্সেসকে সীমাবদ্ধ করতে হবে।

ডিফল্টরূপে, এসএসএইচ 22 পোর্ট শুনতে পায় the আপনি একটি এসএসএইচ কী-ভিত্তিক প্রমাণীকরণ সেট আপ করতে এবং কোনও পাসওয়ার্ড না দিয়েই সার্ভারের সাথে সংযোগ স্থাপন করতে চাইতে পারেন।

ssh sftp সুরক্ষা