ক্রুট "জেল" - এটি কী এবং আমি কীভাবে এটি ব্যবহার করব?


99

লিনাক্সের আওতায় ক্রুট জেল সম্পর্কে আমি অনেক শুনেছি / পড়েছি তবে এখনও এটি কখনও ব্যবহার করেনি (আমি ফেডোরাকে প্রতিদিন ব্যবহার করি), তাই ক্রুট "জেল" কী? আমি কখন এবং কেন এটি ব্যবহার করতে / ব্যবহার করতে পারি না এবং আমার জানার মতো আরও কিছু আছে? আমি কীভাবে এটি তৈরি করতে যাব?

chroot 

এখানে উত্তরগুলি "আমি কীভাবে এটি বিভাগটি ব্যবহার করব?" এ সংক্ষিপ্ত বলে মনে হচ্ছে :(
আলেকজান্ডার মিলস

উত্তর:


87

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

ধারণাটি হ'ল আপনি একটি ডিরেক্টরি ট্রি তৈরি করেছেন যেখানে কোনও প্রক্রিয়া চালানোর জন্য প্রয়োজনীয় সমস্ত সিস্টেম ফাইলগুলিতে আপনি অনুলিপি বা লিঙ্ক করেছেন। তারপরে আপনি chroot()এই নতুন গাছের গোড়ায় থাকা রুট ডিরেক্টরিটি পরিবর্তন করতে সিস্টেম কলটি ব্যবহার করুন এবং সেই ক্রুটেড পরিবেশে প্রক্রিয়াটি শুরু করবেন। যেহেতু এটি আসলে পরিবর্তিত মূলের বাইরে পাথ উল্লেখ করতে পারে না, তাই এটি it অবস্থানগুলিতে দূষিতভাবে অপারেশন (পড়া / লেখার ইত্যাদি) সম্পাদন করতে পারে না।

লিনাক্স-এ, বাইন মাউন্টগুলি ব্যবহার করা ক্রুট গাছকে জনপ্রিয় করার একটি দুর্দান্ত উপায়। এটি ব্যবহার করে, আপনি যেমন ফোল্ডারগুলিতে টানতে পারেন /libএবং /usr/libযখন টানছেন না /usr, উদাহরণস্বরূপ। জেল ডিরেক্টরিতে আপনি যে ডিরেক্টরি ট্রি তৈরি করতে চান তা কেবল বাঁধুন।


10
আপনার উত্তর দুর্দান্ত। যদিও একটি বিষয় উল্লেখ করতে হবে, ক্রুট একটি সুরক্ষিত প্রক্রিয়া নয় (কোনও প্রক্রিয়া শিকড় হয়ে গেলে জেল থেকে বেরিয়ে যেতে পারে এবং কখনও কখনও তা না হলেও)। রিয়েল জেলগুলি ফ্রিবিএসডি জেল এবং এর মতো প্রয়োগ করা যেতে পারে। এই দেখুন en.wikipedia.org/wiki/FreeBSD_jail#Similar_technologies
nc3b

3
জেন্টু ইনস্টল প্রক্রিয়াটি একটি ক্রুট ব্যবহার করে যাতে আপনি GRUB এবং লিনাক্স কার্নেল ইত্যাদি ইনস্টল করার আগে নিজের নতুন ওএস সেটআপ করতে পারেন
ক্রিস হুয়াং-লিভার

3
সমস্ত লিনাক্স নেমস্পেস ব্যবহার করে সম্পূর্ণ জেল শেলের জন্য ফায়ারজেলটি দেখুন । ডিবে এবং আরপিএম প্যাকেজ উপলব্ধ রয়েছে। সাধারণত, আমি কার্নেলটি 3..১৮ বা তার পরে প্রস্তাব করব, যদিও নতুন সফ্টওয়্যার ইনস্টল করতে সক্ষম না হওয়ায় বাfirejail চলমান সময় ব্যবহারকারীর পরিচালনা করতে না পারার কারণে একটি সমস্যা রয়েছে ।
সিভিফ্যান

দুর্দান্ত উত্তর! - যদিও কিছু প্রাথমিক উদাহরণগুলি দেখতে ভাল লাগবে।
গ্যাব্রিয়েল স্টেপলস

ক্রুট কারাগারের অধীনে থাকা কোনও ব্যবহারকারী কি তার নীচে অবস্থিত বাইনারি ফাইলগুলি কল করতে পারবেন /binযে এটি রুট ব্যবহারকারী দ্বারা ইনস্টল করা আছে? @ বেন কম্বি
আল্পার

50

"ক্রুট জেল" এমন একটি ভুল ধারণা রয়েছে যা সত্যই মারা যায়, তবে লোকেরা এটি ব্যবহার করে চলে। chrootএমন একটি সরঞ্জাম যা আপনাকে ফাইল সিস্টেমের মূল হিসাবে আপনার ফাইল সিস্টেমে একটি ডিরেক্টরি অনুকরণ করতে দেয়। এর অর্থ আপনার কাছে এমন একটি ফোল্ডার কাঠামো থাকতে পারে:

-- foo
    -- bar
    -- baz
-- bazz

আপনি chroot fooএবং যদি করেন ls /, আপনি দেখতে পাবেন:

-- bar
-- baz

যতদূর ls(এবং আপনার দ্বারা চালিত অন্য কোনও সরঞ্জাম) সম্পর্কিত, সেগুলি ফাইল সিস্টেমের একমাত্র ডিরেক্টরি। "কারাগার" একটি ভুল ব্যবহারের কারণ chrootহ'ল কোনও প্রোগ্রামকে সেই সিমুলেটেড ফাইল সিস্টেমে থাকতে বাধ্য করা নয় ; এমন একটি প্রোগ্রাম যা জানে যে এটি একটি ক্রুট "কারাগারে" রয়েছে সহজেই সহজেই পালাতে পারে, তাই chrootআপনার সিমুলেটেড ফাইল সিস্টেমের বাইরে কোনও ফাইল পরিবর্তন করতে বাধা দেওয়ার জন্য সুরক্ষা ব্যবস্থা হিসাবে ব্যবহার করা উচিত নয় you


16
chroot"কারাগার" থেকে কীভাবে পালানো যায় তার উদাহরণ পাওয়া সহায়ক হবে । কেস আমি দেখেছি root ব্যবহারকারীর অধিকার উপস্থিত থেকে বেড়ে উঠা প্রয়োজন। সুবিধাগুলি মূলের সুবিধার্থে বাড়িয়ে নেওয়া কোনও প্রক্রিয়া কী আটকাতে অসুবিধা হয়?
সিভিফ্যান

4
এটি এখনও "বন্দি" তাই "জেল" একটি ভাল শর্টহ্যান্ড। "স্তরের 3 ধারক ক্ষেত্র" আরও ভাল হতে পারে ?!
মাইকডাব্লু

4
এই শব্দটি এসেছে ফ্রিবিএসডি জেল থেকে। জেলগুলি ক্রুটের উপর নির্মিত। জেলগুলি সুরক্ষা সমস্যাগুলি সমাধান করার উদ্দেশ্যে করা হয়েছিল chrootdoesn't এই কারণে মানুষ প্রায়ই তালগোল chrootএবং jailsএকই জিনিস মানে হয়। তারা না। "কারাগার" শব্দটি বিল চেসউইক যখন একটি ক্র্যাকার ধরার জন্য হানিপোট
বাগহান্টার ইউকে

সুতরাং আপনি কি জিনিস, আমার ক্ষেত্রেchroot jail একটি ভাল ধারণা ব্যবহার করছেন না ?
শাফিজাদে

10

মূলত আপনি আপনার পরিবেশের মূল ডিরেক্টরিটি পরিবর্তন করছেন। সুতরাং

/

হয়ে

/some-jail/ (or whatever directory you want)

যখন কোনও অ্যাপ্লিকেশন অ্যাক্সেস করে / তারা / কিছু জেল / পাবে। এছাড়াও অ্যাপ্লিকেশনটি / কিছু জেল থেকে বেরিয়ে আসতে পারে না / যাতে আপনি জানেন যে এটি আপনার মেশিনে অন্য কোনও কিছু অ্যাক্সেস করতে পারে না। এটি বলার একটি খুব সহজ উপায় 'আরে আপনি কেবল এই জিনিসগুলি অ্যাক্সেস করতে পারবেন যা আমি আপনাকে দিচ্ছি এবং আপনি সিস্টেমের অন্য কোনও কিছুতে অ্যাক্সেস করতে পারবেন না।


6

"আমি কখন এবং কেন এটি ব্যবহার করতে পারি?"

একটি ব্যবহার হ'ল স্ক্রিপ্টগুলি পরীক্ষা করা (বুট টাইম এবং অন্যথায়) যা নিখুঁত পাথের রেফারেন্স তৈরি করে, বা যে কমান্ডগুলি চালায় যে আপনি বাধা দিতে এবং লগ করতে চাইতে পারেন (এবং সম্ভবত সেগুলি না-অপশন) - এমন পরিবেশে যেখানে আপনি এই আদেশগুলি না চান আসলে আপনার চলমান পরিবেশে কাজ করে operate

উদাহরণস্বরূপ, আমার একটি এম্বেডড ডিভাইস রয়েছে যা লিনাক্স চালাচ্ছে, আমি এটিকে কিছু না ছাড়িয়ে কিছু ব্যাশের ক্রিয়াকলাপটি পরীক্ষা করতে চাই) আসল ডিভাইসে এটি চালানো (যেহেতু আমার ডেস্কটপে আমার আরও ভাল সরঞ্জাম রয়েছে এবং ডিভাইসটি ইট করতে চান না) খ) চলমান এটি আমার ডেস্কটপে বাস্তবের জন্য (যেহেতু আমি আমার ডেস্কটপ সিস্টেমটি বিশৃঙ্খলা করতে চাই না)

অতিরিক্তভাবে, আপনি তখন আবিষ্কার করতে পারবেন যে কোন আদেশ বা অন্যান্য স্ক্রিপ্ট ফাইলগুলি ব্যবহৃত হয়, যখনই এটি "ক্রুট কারাগারে" উপস্থিত না থাকা কমান্ড বা শেল স্ক্রিপ্ট চালানোর চেষ্টা করে ত্রুটি দিয়ে রানটি প্রস্থান করে exit

(অবশ্যই, পুরো ছড়িয়ে যাওয়ার জন্য আপনি কিউইইএমইউ বা ডকার, বা কোনও ভিএম এর ভিতরে দৌড়াতে পারতেন, তবে এটিতে কোনও ভিএম চিত্র তৈরি করা জড়িত - আরও অনেক কাজ)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.