লিনাক্সে কীভাবে ফেকরূট সুরক্ষা লঙ্ঘন হয় না?


18

এই প্রশ্নটি থেকে বেশ কয়েকটি সুন্দর উত্তর পড়ার পরেও আমি এখনও অস্পষ্ট বোধ করছি যে আপনি কেন মূল কারণ হওয়ার কোনও উপকার না পেয়েই আপনি রুট pre

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

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

এই উত্তরটি এখানে বর্ণিত হয়েছে যে প্রকৃত সিস্টেম কলগুলি ব্যবহারকারীর সত্যিকারের uid / gid দিয়ে করা হয় , তাহলে আবার কোথায় ফেকারআউট সাহায্য করবে?

কীভাবে ফেকারুট লিনাক্সে অবাঞ্ছিত সুবিধাগুলি বৃদ্ধি বন্ধ করে? ফেকরূট যদি রুটের মালিকানাধীন কোনও ফাইল তৈরি করতে টারকে চালিত করতে পারে, তবে এসইউডিটির সাথে অনুরূপ কিছু করবেন না কেন?

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


1
কার্নেলটি সংকলন করতে আপনার ফেকারুট দরকার নেই। কার্নেল বিল্ড সিস্টেমটি তেমন পাগল নয়। লিঙ্কযুক্ত আলোচনাটি একটি ডেবিয়ান কার্নেল প্যাকেজ তৈরি সম্পর্কে , যেখানে প্রকৃত কার্নেল বিল্ডটি কেবল এক ধাপ।

@ WumpusQ.Wumbley আমি এটি সংশোধন করব, এবং আপনি কি আমাকে বলতে পারেন যে বিষয়টি কেন?
ng.newbie

কারণ ফেকারূট একটি ডেবিয়ান জিনিস এবং লিনাক্স ডেবিয়ানের চেয়েও বেশি?

@ WumpusQ.Wumbley এটি কোনও বিতরণ চালানো উচিত।
ব্যবহারকারী 253751

উত্তর:


33

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

আপনি কেবল এটি দিয়ে করতে পারবেন না chown, কমপক্ষে একটি অ-রুট ব্যবহারকারী হিসাবে নয়। (এবং আপনি যদি রুট হিসাবে চলমান থাকেন তবে আপনার প্রয়োজন হবে না fakeroot)) এটি সম্পূর্ণরূপে fakeroot: রুট-প্রয়োজনীয় ক্রিয়াকলাপ সফল হওয়ার ভান করে এমন প্রোগ্রামগুলিকে সাধারণ ব্যবহারকারীর হিসাবে চালানোর জন্য চালিত হওয়ার আশা করে to

এটি বিশেষভাবে যখন (এমনকি যদি এটা রান একটি প্যাকেজ নির্মাণের, যাতে প্যাকেজের ইনস্টলেশন প্রক্রিয়া ইনস্টল করা হচ্ছে ত্রুটি ছাড়া এগিয়ে যেতে পারেন ব্যবহৃত হয় chown root:root, অথবা install -o rootইত্যাদি)। fakerootএটি ফাইল দেওয়ার ভান করে এমন নকল মালিকানার কথা মনে পড়ে, সুতরাং পরবর্তী মালিকানাগুলি মালিকানাটির দিকে তাকিয়ে প্রকৃত মালিকের পরিবর্তে এটি দেখতে পায়; এটি পরবর্তী tarরানগুলি যেমন রুটের মালিকানাধীন ফাইলগুলি সঞ্চয় করতে সহায়তা করে allows

কীভাবে ফেকারুট লিনাক্সে অবাঞ্ছিত সুবিধাগুলি বৃদ্ধি বন্ধ করে? ফেকরূট যদি রুটের মালিকানাধীন কোনও ফাইল তৈরি করতে টারকে চালিত করতে পারে, তবে এসইউডিটির সাথে অনুরূপ কিছু করবেন না কেন?

fakerootকোনও tarকিছু করার জন্য কৌতুক করে না, এটি বিল্ডটি হোস্টিং সিস্টেমে সেই পরিবর্তনগুলি কার্যকর করতে দেওয়া ছাড়াই বিল্ডটি যে পরিবর্তন চায় তা সংরক্ষণ করে। fakerootরুট এবং স্যুইডের মালিকানাধীন একটি ফাইল যুক্ত একটি টারবাল তৈরি করার দরকার নেই ; আপনার যদি নিয়মিত ব্যবহারকারী হিসাবে বাইনারি থাকে evilbinary, চলমান থাকে তবে মূলের মালিকানাধীন এবং সুইডযুক্ত tar cf evil.tar --mode=4755 --owner=root --group=root evilbinaryএকটি টারবাল তৈরি করবে evilbinary। তবে, আপনি যে টারবলটি বের করতে পারবেন না এবং আপনি যদি অনুমতি হিসাবে না থাকেন তবে অনুমতিগুলি সংরক্ষণ করতে পারবেন না: এখানে কোনও সুবিধা বাড়ানো নেই। fakerootএকটি বিশেষাধিকার ডি-সেসালেশন সরঞ্জাম: এটি আপনাকে নিয়মিত ব্যবহারকারী হিসাবে একটি বিল্ড চালানোর অনুমতি দেয়, তবে বিল্ডটি যদি এটি রুট হিসাবে চালানো হত তবে তার প্রভাবগুলি পরে চালিত করার অনুমতি দেয়। "বাস্তবের জন্য" প্রভাবগুলি প্রয়োগ করার জন্য সর্বদা মূল সুবিধার প্রয়োজন; fakerootএগুলি অর্জন করার কোনও পদ্ধতি সরবরাহ করে না।

fakerootআরও বিস্তারিতভাবে ব্যবহার বুঝতে , বিবেচনা করুন যে একটি সাধারণ বিতরণ বিল্ডের মধ্যে নিম্নলিখিত ক্রিয়াকলাপগুলি জড়িত রয়েছে (অনেকের মধ্যে):

  • রুট দ্বারা মালিকানাধীন ফাইল ইনস্টল করুন
  • ...
  • এই ফাইলগুলি এখনও রুটের মালিকানাধীন সংরক্ষণাগারভুক্ত করুন, যাতে সেগুলি যখন সরানো হয় তখন এগুলি রুটের মালিকানাধীন হবে

প্রথম অংশটি স্পষ্টতই ব্যর্থ হয় যদি আপনি মূল না হন। তবে, fakerootসাধারণ ব্যবহারকারীর অধীনে চলার সময় প্রক্রিয়াটি হয়ে যায়

  • রুটের মালিকানাধীন ফাইলগুলি ইনস্টল করুন - এটি ব্যর্থ হয় তবে fakerootএটি সাফল্যের ভান করে এবং পরিবর্তিত মালিকানা স্মরণ করে
  • ...
  • এই ফাইলগুলি এখনও মূলের মালিকানাধীন আর্কাইভ করুন - যখন tar(বা যা কিছু আর্কিভার ব্যবহার করা হচ্ছে) ফাইলটির মালিকানা কী তা সিস্টেমকে জিজ্ঞাসা করে, এর fakerootআগে রেকর্ড করা মালিকানার সাথে মিল রেখে উত্তর পরিবর্তন করে

এইভাবে আপনি রুট না হয়ে একটি প্যাকেজ বিল্ড চালাতে পারেন, একই ফলাফলগুলি পাওয়ার পরে আপনি যদি সত্যিই রুট হিসাবে চালাচ্ছিলেন। ব্যবহার fakerootকরা নিরাপদ: সিস্টেমটি এখনও আপনার ব্যবহারকারী যা করতে পারে না তেমন কিছুই করতে পারে না, সুতরাং একটি দুর্বল ইনস্টলেশন প্রক্রিয়া আপনার সিস্টেমে ক্ষতি করতে পারে না (আপনার ফাইলগুলি স্পর্শ করার বাইরে)।

ডেবিয়ানে, বিল্ড সরঞ্জামগুলি আরও উন্নত করা হয়েছে যাতে এটির আর প্রয়োজন না হয় এবং আপনি প্যাকেজ ছাড়াই তৈরিfakeroot করতে পারেন । এটি dpkgসরাসরি Rules-Requires-Rootনির্দেশের দ্বারা সমর্থিত (দেখুন rootless-builds.txt)।

fakerootমূল এবং না হিসাবে চালানোর সুরক্ষা দিকগুলি বোঝার জন্য , এটি প্যাকেজিংয়ের উদ্দেশ্য বিবেচনা করতে সহায়তা করতে পারে। আপনি যখন সিস্টেম-ব্যাপী ব্যবহারের জন্য উত্স থেকে কোনও টুকরো সফ্টওয়্যার ইনস্টল করেন, আপনি নীচের দিকে এগিয়ে যান:

  1. সফ্টওয়্যারটি তৈরি করুন (যা কোনও অধিকার ছাড়াই করা যায়)
  2. সফ্টওয়্যারটি ইনস্টল করুন (যা রুট হিসাবে সম্পন্ন করা প্রয়োজন, বা কোনও ব্যবহারকারী হিসাবে উপযুক্ত সিস্টেমের অবস্থানগুলিতে লেখার অনুমতি দেওয়া হয়েছে)

আপনি যখন কোনও টুকরো সফ্টওয়্যার প্যাকেজ করেন, আপনি দ্বিতীয় অংশটি বিলম্ব করছেন; তবে এটি সফলভাবে করার জন্য আপনাকে সিস্টেমে না গিয়ে প্যাকেজে সফ্টওয়্যারটি "ইনস্টল" করতে হবে। সুতরাং আপনি যখন সফ্টওয়্যার প্যাকেজ করেন, প্রক্রিয়াটি হয়ে যায়:

  1. সফটওয়্যারটি তৈরি করুন (কোনও বিশেষ সুযোগ ছাড়াই)
  2. সফ্টওয়্যার ইনস্টল করার ভান করুন (আবার কোনও বিশেষ সুযোগ ছাড়াই)
  3. একটি প্যাকেজ হিসাবে সফ্টওয়্যার ইনস্টলেশন ক্যাপচার (ditto)
  4. প্যাকেজ উপলব্ধ করুন (ditto)

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

fakeroot আমাদের সফ্টওয়্যার ইনস্টলেশন প্রক্রিয়া চালানোর অনুমতি দেয় এবং মূল হিসাবে চালানো ছাড়াই তাদের আচরণ ক্যাপচার করে উপরের 2 এবং 3 ধাপে সহায়তা করে।


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

@ ng.newbie আপনি এটি fakeroot দিয়ে না fakeroot ছাড়াই খুঁজে পান?
ব্যবহারকারী 253751

2
@ এনজি.নেউবি, তদ্ব্যতীত, আপনি যদি দূষিত উদ্দেশ্যে স্যুইড-রুট বাইনারি দিয়ে একটি টারবাল তৈরি করতে চান, তবে আপনি এটি অন্য কোনও মেশিনে আসল রুট হিসাবে করতে পারেন, তবে এটি লক্ষ্যকে অনুলিপি করুন। সেখানে fakeroot প্রয়োজন নেই। টেক-ফাইল তৈরিতে সহায়তা করার জন্য fakeroot কেবল একটি সরঞ্জাম, এটি tar --mode --ownerসংরক্ষণাগারে যুক্ত প্রতিটি ফাইলের জন্য প্রয়োজনীয়তা অপসারণ করে (এবং অন্যান্য প্রোগ্রামগুলির সাথেও কাজ করে)। সম্ভাব্য সমস্যাগুলি আসে / যখন আপনি কোনও অবিশ্বস্ত টার-ফাইল বা সংরক্ষণাগারটিকে রুট হিসাবে আনপ্যাক করেন, তৈরি করার সময় নয়।
ilkkachu

7

কোন। জাল রুট আপনাকে অনুমতি ম্যানিপুলেশন এবং রিপোর্টিং সরঞ্জাম চালানোর অনুমতি দেয়, এটি ধারাবাহিকভাবে প্রতিবেদন করবে। তবে এটি আসলে এই অনুমতিগুলি দেয় না। এটি আপনার কাছে (জাল) থাকার মতো দেখাবে। এটি পরিবেশের বাইরের কিছু পরিবর্তন করবে না।

এটি দরকারী, যদি আপনি একটি ডিরেক্টরি কাঠামো তৈরি করতে চান, এতে মালিকানা এবং অনুমতি রয়েছে, যা আপনার ব্যবহারকারীর দ্বারা সেট করা যায় নি, আপনি তারপরে ট্যারি, জিপ বা অন্য প্যাকেজটি করবেন।

এটি সত্যিই অনুমতিগুলি উন্নত করে না , এটি জাল। এটি আপনাকে এমন কিছু করতে দেয় না (মুছুন, লিখুন, পড়ুন) যা আপনি অন্যথায় করতে পারেননি। আপনি এটি ছাড়াই প্যাকেজটি উত্পাদন করতে পারেন (তত্ত্ব অনুসারে)। আপনি lsএটি ছাড়া একটি জাল রিপোর্ট ( ) পেতে পারেন।

এটি কোনও সুরক্ষা ত্রুটি নয়, কারণ এটি অ্যাক্সেসের অনুমতি দেয় না বা এমন কিছু যা আপনি এটি না করে করতে পারবেন না। এটি বিনা অধিকারে চলে। সব ডোজ থেকে পথিমধ্যে কল হয় chown, chmod, ইত্যাদিতে তাদের একটি নো-অপারেশন করে তোলে ব্যতীত এটি রেকর্ড কি ঘটেছে হবে। এটি অন্যগুলিতে কলগুলিতে বাধা দেয় statযাতে এটি নিজস্ব অভ্যন্তরীণ ডাটাবেস থেকে অনুমতি এবং মালিকানা রিপোর্ট করে, যেমন অন্য কমান্ডগুলি সম্পন্ন হয়েছে। এটি দরকারী, কারণ আপনি যদি পরে ডিরেক্টরিটি জিপ করেন তবে এতে নকল অনুমতি থাকবে। এরপরে আপনি যদি রুট হিসাবে আনজিপ করেন তবে অনুমতিগুলি আসল হয়ে উঠবে।

এর আগে যে ফাইলগুলি পাঠযোগ্য / লিখিতযোগ্য নয়, সেগুলি পঠনযোগ্য / লিখিতযোগ্য থাকবে না। তৈরি করা কোনও বিশেষ ফাইল (যেমন ডিভাইস) এর কোনও বিশেষ ক্ষমতা থাকবে না। যে কোনও সেট-ইউড (অন্য ব্যবহারকারীর কাছে), ফাইল সেট-ইউড করবে না। অন্য কোনও সুযোগ-সুবিধা বৃদ্ধি পাবে না।

এটি এক ধরণের ভার্চুয়াল মেশিন: একটি ভার্চুয়াল মেশিন সাধারণত কোনও পরিবেশ / ওএস অনুকরণ করতে পারে তবে হোস্টের পক্ষে কিছুই করতে পারে না, যা অন্য কোনও অ্যাপ্লিকেশন করতে পারে নি। ভার্চুয়াল মেশিনের মধ্যে আপনি যে কোনও কিছু করতে উপস্থিত হতে পারেন। আপনি সুরক্ষা সিস্টেমটিকে একই বা পৃথক হিসাবে পুনরায় উদ্ভাবন করতে পারেন, তবে ভার্চুয়াল পরিবেশটি চালিত প্রক্রিয়াটির ব্যবহারকারী / গোষ্ঠীর মালিকানাধীন সংস্থান হিসাবে এটি সমস্ত হোস্টে উপস্থিত থাকবে।


@ ctrl-alt-decor যেমন আমি উপরের মন্তব্যে জিজ্ঞাসা করেছি, * নিক্সে অন্য অপ্রয়োজনীয় ব্যবহারকারীর কাছ থেকে মালিককে রুট করা সম্ভব নয়, তাই না? সুতরাং এর জন্য অবশ্যই একটি যুক্তিসঙ্গত কারণ থাকতে হবে যদি কোনও প্রোগ্রাম এটির অনুমতি দেয় তবে এটি কীভাবে সুরক্ষা ত্রুটি নয়?
ng.newbie

@ সিটিআরএল-ওএল-সাজসজ্জা ফেকারআউট আমাকে পড়তে / লিখতে / মুছতে দেয় না, তবে আমি যদি সিস্কলগুলির জন্য একটি মোড়ক লিখি তবে এটি কি সেই কারণেই দাঁড়াতে পারে যে আমি সেই অপারেশনগুলিও করতে পারি।
ng.newbie

@ ctrl-alt-decor সুতরাং fakeroot বিদ্যমান থাকার একমাত্র কারণ হ'ল রুট না হয়ে কোনও ফাইলকে রুট করতে অনুমতি সেট করা। যদি এটি কোনও সুরক্ষা ত্রুটি না হয় তবে লিনাক্স কেন প্রথম স্থানে তা অস্বীকার করবে?
ng.newbie

1
না এটি আপনাকে কোনও ব্যবহারকারীর কাছে নকল সেটিং ব্যবহারকারী এবং অন্য কিছু জিনিস নকল করার অনুমতি দেয় । এটি ব্যবহার করে দেখুন: ফেকারূট চালান এবং বাইরে থেকে ফাইলগুলি দেখুন, ফাইলগুলি অ্যাক্সেস করার চেষ্টা করুন, যা আপনার উচিত নয়।
ctrl-alt-delor 15

4

এখানে ইতিমধ্যে দুটি ভাল, এবং খুব বিস্তৃত উত্তর রয়েছে, তবে আমি কেবল উল্লেখ করব যে মূল fakeroot মানুষ পৃষ্ঠা 1 এর সূচনা অনুচ্ছেদটি এটি সুন্দরভাবে পরিষ্কার এবং সংক্ষিপ্তভাবে ব্যাখ্যা করেছে:

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

ফেকরূট একটি নন-রুট ব্যবহারকারীকে মূল মালিকানাধীন ফাইলগুলি সংরক্ষণাগার তৈরি করতে অনুমতি দেয় যা লিনাক্সে বাইনারি সফ্টওয়্যার প্যাকেজ উত্পন্ন এবং বিতরণের একটি গুরুত্বপূর্ণ অঙ্গ। ছাড়া fakeroot, প্রকৃত মূল হিসাবে চলার সময় প্যাকেজ সংরক্ষণাগারগুলি তৈরি করতে হবে, যাতে সেগুলিতে সঠিক ফাইলের মালিকানা এবং অনুমতি থাকতে পারে। যে হবে একটি নিরাপত্তা ঝুঁকি হতে। সম্ভাব্য-অবিশ্বস্ত সফ্টওয়্যার বিল্ডিং এবং প্যাকেজিং রুট বেসরকারী দ্বারা করা হলে এটি একটি বিশাল এক্সপোজার। ধন্যবাদ fakeroot, অপ্রাইভিল্ড ফাইলযুক্ত একটি অনিবদ্ধ ব্যবহারকারী এখনও মূল মালিকানার ফাইল সহ সংরক্ষণাগার তৈরি করতে পারে। 2

কিন্তু এটি একটি নিরাপত্তা ঝুঁকি কারণ সংরক্ষণাগারে কিছুই নয়, আসলে রুটের মালিকানাধীন পর্যন্ত ফাইল নিষ্কাশিত । এবং তারপরেও, ফাইলগুলি যদি কোনও অধিকারপ্রাপ্ত ব্যবহারকারী দ্বারা সম্পন্ন করা হয় তবে কেবলমাত্র তাদের মূল অনুমতিগুলি অক্ষত থাকবে। সেই পদক্ষেপ - যেখানে fakeroot"রুট" ফাইলযুক্ত একটি অ্যাসিস্টেড সংরক্ষণাগারটি কোনও বিশেষাধিকারী ব্যবহারকারী দ্বারা তোলা হয় - সেখানেই "নকল" মূলটি আসল হয়ে যায়। এই পয়েন্ট অবধি, কোনও আসল মূল সুবিধা কখনও প্রাপ্ত বা বাইপাস করা যায় না।

মন্তব্য

  1. ফেকারূট এমন কিছু প্রতিযোগী / অনুকরণকারী তৈরি করেছে যা ম্যাসেজ করে fakerootএমনভাবে ইনস্টল করা হয়েছে যেমন fakeroot-ngএবং অন্তর্ভুক্ত pseudo। তবে আইএমএইচও উভয়ই "অনুকরণকারীর" ম্যান পৃষ্ঠাটি এই প্রশ্নের পয়েন্টটি সঠিকভাবে পাওয়ার বিষয়ে প্রায় পরিষ্কার নয়। মূল, এক এবং কেবল fakerootওজি দিয়ে আটকে থাকুন
  2. অন্যান্য ডিস্ট্রোজ / প্যাকেজিং-সিস্টেমগুলি কেবল তাদের প্যাকেজ সংরক্ষণাগারগুলিতে মূল মালিকানা ব্যবহার না করে এটিকে কাটিয়ে ওঠে। ফেডোরায়, উদাহরণস্বরূপ, সফ্টওয়্যারটি অনিয়ন্ত্রিত ব্যবহারকারীর দ্বারা বিনা প্রয়োজনে সংকলন, ইনস্টল এবং প্যাকেজ করা যায় fakeroot। এটি সমস্ত ব্যবহারকারীর $HOME/rpmbuild/স্পেসের মধ্যেই সম্পন্ন হয়েছে , এবং সাধারণত- সুবিধাপূর্ণ পদক্ষেপগুলি যেমন একটি শ্রেণিবিন্যাসে make installপুনঃনির্দেশিত (যেমন প্রক্রিয়া মাধ্যমে --prefixএবং পুনর্নির্দেশ করা হয় DESTDIR) $HOME/rpmbuild/BUILDROOT/যা "ফাকেচরুট" স্থানের (যা আসলে ব্যবহার না করে fakechroot) বিবেচনা করা যেতে পারে to

    তবে এমনকি সময়কালে make install, সবকিছু অনিয়ন্ত্রিত ব্যবহারকারীর হিসাবে কার্যকর এবং মালিকানাধীন হয়। এক্সট্রাক্ট করা ফাইলের মালিকানা এবং অনুমতিগুলি ডিফল্ট হিসাবে সেট করা হবে root,rootএবং 0644(বা 0755এক্সিকিউটেবলের জন্য) প্যাকেজ সংজ্ঞা ( .spec) ফাইলে ওভাররাইড না করা ক্ষেত্রে যদি তারা চূড়ান্ত প্যাকেজের মধ্যে মেটাডেটা হিসাবে সঞ্চিত থাকে। কারণ আরপিএম প্যাকেজটির (সুবিধাযুক্ত) ইনস্টলেশন প্রক্রিয়া না হওয়া পর্যন্ত কোনও অনুমতি বা মালিকানা আসলে প্রয়োগ করা হয় না, fakerootপ্যাকেজিংয়ের সময় মূলের প্রয়োজন হয় না বা প্রয়োজন হয় না । তবে fakerootএটি একই ফলাফলের জন্য কেবল একটি ভিন্ন পথ।


1
আপনার প্রথম নোটটি সম্পর্কে, fakeroot-ng দাবী করার দাবি করেছে fakeroot, কিন্তু বাস্তবে এটি এটি প্রতিস্থাপন করেনি, এবং এএফএইইকি fakerootএখনও ডিবিয়ানে ডিফল্টরূপে (প্রয়োজনীয় অবস্থায়) ব্যবহৃত হাতিয়ার।
স্টিফেন কিট

@ স্টেফেনকিট আহা! ধন্যবাদ। আমি তা দেখে বিস্মিত হলাম. প্রথমদিকে আমি বিভ্রান্ত হয়ে পড়েছিলাম কারণ আমি fakerootম্যানপেজটি অনুসন্ধান করতে গিয়েছিলাম , এবং গুগল আমাকে fakeroot-ngতার (এমনভাবে হস্তান্তরিত করতে fakeroot(1)) ফেলে দেয় এবং আমি অনুমান করি যে আমি অত্যধিক বর্ধিত হয়েছি। তবে আমি এখন দেখছি যে ফেকারূট-এনজি ২০১৪ সাল থেকে আপডেট হয়নি , অন্যদিকে ফেকারূট এখনও সক্রিয় রয়েছে । দৃশ্যত সিউডোও রয়েছে যা কয়েক বছর আগে এটি চালু করেছিল, কিন্তু এখন থেমে গেছে। আমি আমার উত্তর তদনুযায়ী।
এআরডিআর

1
হ্যাঁ আমি প্রথম খুব এ বিশৃঙ্খলা শুরু হয়ে গিয়েছিল, যেহেতু ডেবিয়ান এর সাইটে র manpage করার বিশালাকার ডিফল্টরূপে-এর সংস্করণ। একটি মজাদার মোড় ;-) এর জন্য শেষ অনুচ্ছেদটি দেখুন। fakerootfakeroot-ngfakeroot-ng
স্টিফেন কিট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.