ওপেনএসএসএইচ 4.9p1 প্রকাশের সাথে সাথে ব্যবহারকারীদের তাদের বাড়ির ডিরেক্টরিতে সীমাবদ্ধ রাখতে বা এসএফটিপি পরিষেবাগুলিতে অ্যাক্সেস দেওয়ার জন্য আপনার আর তৃতীয় পক্ষের হ্যাক বা জটিল ক্রুট সেটআপের উপর নির্ভর করতে হবে না।
সম্পাদনা করুন / ইত্যাদি / ssh / sshd_config (/ etc / sshd_config কিছু বিতরণ) এবং নিম্নলিখিত বিকল্পগুলি সেট করুন:
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
"ম্যাচ" নির্দেশনাটি ফাইলের শেষে রয়েছে তা নিশ্চিত করুন। এটি ওপেনএসএইচকে বলেছে যে এসএফটিপি গ্রুপের সমস্ত ব্যবহারকারীকে তাদের হোম ডিরেক্টরিতে ক্রোট করা হবে (যা% h ক্রুটডাইরেক্টরি কমান্ডে উপস্থাপন করে)
আপনি যে কোনও ব্যবহারকারীকে ক্রুট করতে চান, তাদের ব্যবহার করে এসএফটিপি গ্রুপে যুক্ত করুন:
# usermod -G sftp joe
# usermod -s /bin/false joe
# chown root:root /home/joe
# chmod 0755 /home/joe
উপরের ইউজারমোড কমান্ডটি ব্যবহারকারীদের জোকে এসএফটিপি গ্রুপে যুক্ত করবে এবং তাদের শেলটি / বিন / মিথ্যাতে সেট করবে যাতে তারা একেবারে শেল অ্যাক্সেস পেতে না পারে। Chown এবং chmod কমান্ড ডিরেক্টরিটির জন্য প্রয়োজনীয় অনুমতি সেট করবে। এই অনুমতিগুলি সেট হয়ে গেলে ব্যবহারকারীকে ফাইল আপলোড এবং ডাউনলোড করার অনুমতি দেওয়া হবে তবে রুট ডিরেক্টরিতে ডিরেক্টরি বা ফাইল তৈরি করতে পারবেন না
শেল অ্যাকাউন্টগুলি ক্রুট করা কিছুটা জটিল কারণ এটির জন্য প্রয়োজনীয় কিছু ডিভাইস ফাইল এবং একটি শেল ব্যবহারকারীর হোম ডিরেক্টরিতে পাওয়া উচিত। নিম্নলিখিত কমান্ডগুলি ম্যান্ড্রিভা লিনাক্সে একটি খুব প্রাথমিক ক্রুট সিস্টেম সেট আপ করবে:
# mkdir /chroot
# cd /chroot
# mkdir {bin,dev,lib}
# cp -p /bin/bash bin/
# cp -p /lib/{ld-linux.so.2,libc.so.6,libdl.so.2,libtermcap.so.2} lib/
# mknod dev/null c 1 3
# mknod dev/zero c 1 5
# chmod 0666 dev/{null,zero}
# mkdir -p /chroot/home/joe
উপরের সাহায্যে, ব্যবহারকারী জো প্রবেশ করতে পারে এবং ক্রটটিতে সীমাবদ্ধ থাকবে। দুর্ভাগ্যক্রমে, এটি খুব বেশি কিছু করে না, তবে এটি কীভাবে সেট আপ করা যায় তা আপনাকে একটি ধারণা দেয়। আপনি যা সরবরাহ করতে চান তার উপর নির্ভর করে আপনাকে অতিরিক্ত গ্রন্থাগার এবং বাইনারি ইনস্টল করতে হবে।
ক্রোট তৈরি করা
Dchroot এবং debootstrap প্যাকেজ ইনস্টল করুন।
প্রশাসক হিসাবে (যেমন সুডো ব্যবহার করে) ক্রুটের জন্য একটি নতুন ডিরেক্টরি তৈরি করুন। এই পদ্ধতিতে ডিরেক্টরিটি /var/chroot
ব্যবহার করা হবে। এটি করতে, sudo mkdir /var/chroot
একটি কমান্ড লাইনে টাইপ করুন ।
প্রশাসক হিসাবে, /etc/schroot/schroot.conf
একটি পাঠ্য সম্পাদক খুলুন
। টাইপ করুন cd /etc/schroot
, তারপরে অনুসরণ করুন gksu gedit schroot.conf
। এটি আপনাকে ফাইল সম্পাদনা করার অনুমতি দেবে।
নিম্নলিখিত লাইনগুলিতে যুক্ত করুন schroot.conf
এবং তারপরে ফাইলটি সংরক্ষণ করুন এবং বন্ধ করুন। your_username
আপনার ব্যবহারকারী নাম দিয়ে প্রতিস্থাপন করুন
।
[lucid] বিবরণ = উবুন্টু লুসিড অবস্থান = / var / chroot অগ্রাধিকার = 3 ব্যবহারকারী = আপনার_ ব্যবহারকারী নাম গোষ্ঠী = স্বল্প মূলের গোষ্ঠী = রুট
একটি টার্মিনাল খুলুন এবং টাইপ করুন:
sudo debootstrap --variant=buildd --arch i386 lucid /var/chroot/ \
http://mirror.url.com/ubuntu/
এটি ক্রুটে উবুন্টু 10.04 (লুসিড লিংক) এর একটি প্রাথমিক 'ইনস্টলেশন' তৈরি করবে। প্যাকেজগুলি ডাউনলোড হতে কিছু সময় নিতে পারে। দ্রষ্টব্য: আপনি আপনার পছন্দের উবুন্টু সংস্করণ দিয়ে লুসিড প্রতিস্থাপন করতে পারেন। দ্রষ্টব্য: আপনার mirror.url.com
কাছে স্থানীয় বৈধ সংরক্ষণাগারটির URL সহ আপনার অবশ্যই উপরেরটি পরিবর্তন করতে হবে। একটি বেসিক ক্রুট এখন তৈরি করা উচিত ছিল। sudo chroot /var/chroot
ক্রোটের অভ্যন্তরে কোনও রুট শেল পরিবর্তন করতে টাইপ করুন।
ক্রুট সেটআপ করা হচ্ছে
Chroot সেট আপ করতে ডিএনএস রেজোলিউশন এবং অ্যাক্সেসের মতো সুবিধাগুলি সরবরাহ করতে আপনি নিতে পারেন এমন কয়েকটি প্রাথমিক পদক্ষেপ /proc
।
দ্রষ্টব্য: ক্রোটের বাইরে থাকা শেলের মধ্যে এই কমান্ডগুলি টাইপ করুন।
/proc
ক্রুটে ফাইল সিস্টেমটি মাউন্ট করতে নিম্নলিখিত টাইপ করুন (প্রক্রিয়া পরিচালনার জন্য প্রয়োজনীয়):
sudo mount -o bind /proc /var/chroot/proc
ক্রোটের মধ্যে থেকে ডিএনএস রেজোলিউশনটিকে অনুমতি দেওয়ার জন্য নিম্নলিখিত টাইপ করুন (ইন্টারনেট অ্যাক্সেসের জন্য প্রয়োজনীয়):
sudo cp /etc/resolv.conf /var/chroot/etc/resolv.conf
খুব কম প্যাকেজ একটি ক্রুটে ডিফল্টরূপে ইনস্টল করা হয় (এমনকি সুডো ইনস্টল করা হয় না)। apt-get install package_name
প্যাকেজ ইনস্টল করতে ব্যবহার করুন ।