অনিবদ্ধ ব্যবহারকারী কেন ফাইলের মালিকানা পরিবর্তন করতে পারবেন না?


15

আবদ্ধ থেকে (2):

কেবলমাত্র একটি সুবিধাযুক্ত প্রক্রিয়া (লিনাক্স: CAP_CHOWN সক্ষমতার সাথে একটি) কোনও ফাইলের মালিককে পরিবর্তন করতে পারে। কোনও ফাইলের মালিক সেই গ্রুপের যে কোনও গ্রুপের মালিক সেই সদস্য হিসাবে পরিবর্তিত হতে পারে। একটি সুবিধাযুক্ত প্রক্রিয়া (লিনাক্স: CAP_CHOWN সহ) ইচ্ছামত গ্রুপটি পরিবর্তন করতে পারে।

এই নিষেধাজ্ঞার কারণ কী? কেন একটি অনিবদ্ধ ব্যবহারকারী তার নিজের ফাইলের ফাইলের মালিকানা পরিবর্তন করতে পারবেন না (যেমন? না / ইত্যাদি / ছায়া)?

$ touch blah
$ chown root:root blah
chown: changing ownership of `blah': Operation not permitted

উত্তর:


27

ব্যবহারকারীদের ফাইলগুলি "দিতে" অনুমতি দেওয়ার মাধ্যমে আপনি ওএসের বিভিন্ন বৈশিষ্ট্য থেকে দূরে চলে। যেমন:

Taking up another user's disk quota.
Impersonating another user (or even root) via setuid.
Having insufficient privileges to undo a mistaken chown.
Making it appear that someone else had created a given file.
Setting up cron jobs to run on other user's accounts.
And many more...

8

এটি কেবল লিনাক্স ডিজাইনারদের ব্যক্তিগত পছন্দ যা এটির অনুমতি না দেয় - সমস্ত সিউডো-সুরক্ষা কারণ প্রদত্ত , নির্দিষ্ট , কারণ এখানে ইউনিক্স সিস্টেম রয়েছে যা এটির অনুমতি দেয়।

আপনার ইউনিক্সের আচরণটি 'সিস্টেম-ভি' (এটিএন্ডটি) বা বার্কলির ইউনিক্স (বিএসডি) অনুসরণ করেছে কিনা তা এই ক্রিয়াকলাপটি হ্রাস পেয়েছে বলে আমি মনে করি ...

সুরক্ষিত অন্যান্য সমস্যা সম্পর্কিত বিষয়গুলি:

  • সেটুইডের মাধ্যমে অন্য ব্যবহারকারী (বা এমনকি মূল) ছদ্মবেশ তৈরি করা।

    নন-ইস্যু: 'মালিক' পরিবর্তন করা কোনও 'সেট এক্সিড' বিট সাফ করে (ইউ / জি)

  • ভুল ভ্রমনটিকে পূর্বাবস্থায় ফেলার জন্য পর্যাপ্ত সুযোগ-সুবিধা থাকা

    আসলে 'সুরক্ষা ঝুঁকি' নয়, তবে এটি এমন সিস্টেমে থাকতে পারে যা ব্যবহারকারীর পরিবর্তনের অনুমতি দেয়, আপনি যদি এটি নিজের মালিকানাধীন কোনও ডিরেক্টরিতে থাকেন তবে আপনি এটি আবার পরিবর্তন করতে পারেন: 'সাবধান'!

  • এটি উপস্থিত করে দেখা যাচ্ছে যে অন্য কেউ প্রদত্ত ফাইল তৈরি করেছে।

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

  • অন্যান্য ব্যবহারকারীর অ্যাকাউন্টে চালানোর জন্য ক্রোন জব সেট আপ করা।

    আবার, কাজ করবে না - যেহেতু ক্রন্ডার্সগুলি ব্যবহারকারীর মালিকানাধীন এবং অন্য ব্যবহারকারীদের দ্বারা এটি পঠনযোগ্য হিসাবে সেট করাও নেই, তাই লেখার সুযোগ ছেড়ে দিন।

  • যদি কেউ মালিকানা পরিবর্তন করতে পারে, তবে যে কেউ সিস্টেমে কোনও ফাইল অ্যাক্সেস পাওয়ার অনুমতি পরিবর্তন করতে পারে।

    নাহ: কেবলমাত্র ব্যবহারকারী যদি সেই ফাইলটি সম্বলিত ডিরেক্টরিটির মালিকানাধীন থাকে। উদাহরণস্বরূপ, আমি 'পাসউইডডি' নামে একটি ফাইল রুটে দিতে পারি, তবে / ইত্যাদি / তে আমার লেখার অনুমতি না থাকলে আমি এটিকে / ইত্যাদি / এ স্থানান্তর করতে পারিনি।

  • কোটা

    একটি সম্ভাব্য বৈধ পয়েন্ট - যদি আপনি কোটা ব্যবহার করেন তবে মনে হয় আপনি যদি হোম-ডির দ্বারা ডিস্কের জায়গার যোগফল যোগ করেন তবে এটি সনাক্ত করা সহজ হবে; একমাত্র সমস্যাটি হ'ল ডায়ারে যা একাধিক ব্যবহারকারীর দ্বারা লেখার যোগ্য able যে ক্ষেত্রে, সম্ভবত সেই 'দির' মালিকের কাছে যাচ্ছেন। এটা তোলে পারে এই সমস্ত সিস্টেমে ক্ষেত্রে হতে যে সমর্থন ফাইল 'দূরে প্রদান', আপনি শুধুমাত্র ডিরেক্টরিগুলি থেকে এটা করতে পারেন যে আপনার 'নিজস্ব' কিন্তু এটি একটি দীর্ঘ সময় থেকে আমি আসলে একটি সিস্টেম যে এই অনুমতি দেয় উপর চলেছি তো হল সঠিক সীমাবদ্ধতার কথা মনে নেই।

আমার মনে হচ্ছে 'ফাইল দেওয়ার' জন্য কিছু 'বাণিজ্য বন্ধ' রয়েছে ... উদাহরণস্বরূপ - এমন সিস্টেমে যে লিনাক্সের অনুমতি দেয়, অন্য কোনও কিছু অনুমোদিত ছিল না, তবে কী বন্ধ ছিল তা মনে করতে পারছি না হাত...

আমি বলব উপরের উত্তরটি উত্তর হিসাবে চিহ্ন হিসাবে চিহ্নিত করা উচিত, কারণ এটি আসল উত্তর নয়। এটি আরও একটি ডিজাইনের সিদ্ধান্ত - ট্রেড অফ (গুলি) কী ছিল তা আমি কেবল জানি না।

সুরক্ষা সমস্যাগুলি উপরে উত্থাপিত নাও হতে পারে যা বৈধ উদ্বেগ হতে পারে, তবে উপরোক্ত বিষয়গুলি বৈধ নয়।

আইএমও, এটি "/ প্রোক"-তে একটি সিস্টেম-নিষ্পত্তিযোগ্য 'মান' হওয়া উচিত, তবে সাধারণভাবে বলতে গেলে, আমি মনে করি বেশিরভাগ লোকেরা এতো গুরুত্ব দেয় না।

যদি এর দৃ strong় প্রয়োজন হয়, তবে 'ডাকা' এটির অনুমতি দেওয়ার জন্য সুরক্ষা-বর্ধিত ও সংশোধিত হতে পারে এবং তারপরে এই জাতীয় নীতি বাস্তবায়নে সক্ষম করার জন্য ডাব্লু / সেটআপ 'রুট' সেটআপ করতে পারে।


কোটা সর্বদা ফাইলের মালিকানার উপর ভিত্তি করে , অবস্থান নয় । অন্যথায় কেউ কিছু রাখতে পারে /tmp
user1686

+1, আপনি ঠিকই মনে হচ্ছে :)। ওপেনসোলারিস সিস্টেমে (যা প্রকৃতপক্ষে সিস্টেম ভি এর বংশধর) আপনি একটি mountবিকল্পের মাধ্যমে সেট করতে পারেন (এই সেটিংটি আপনার সিস্টেম-স্থিরযোগ্য মান পরামর্শ অনুসারে সিস্টেম-প্রশস্ত হওয়ার পরিবর্তে একক মাউন্ট পয়েন্টে সীমাবদ্ধ থাকতে পারে): rstchown(ডিফল্ট ) norstchownঅবাঞ্ছিত ব্যবহারকারীদের তাদের নিজস্ব ফাইলের মালিক পরিবর্তন করার অনুমতি দেওয়ার জন্য (তারা এটিকে আর পরিবর্তন করতে পারে না) মূল ফাইলটিতে ফাইলের মালিকদের পরিবর্তন সীমাবদ্ধ করতে।
হোয়াইটওয়ানটারওয়াল্ফ

6

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


2
ঠিক। আমি প্রশ্নটি সংশোধন করেছিলাম পরিষ্কার করতে আমি ব্যবহারকারীদের মালিকানাধীন ফাইলগুলি উল্লেখ করছি এবং কোনও ফাইল নয়।
আলেকজান্দ্রু

1
@ আলেকজান্দ্রু: কোনও বিদ্বেষপূর্ণ ব্যবহারকারীর myTrojan.shমূলের মালিকানাধীন এবং একটি SID পতাকা থাকতে হবে বলে মনে করুন।
বেনিয়ামিন বান্নিয়ার

@ হংক: এখনই বোধগম্য।
আলেকজান্দ্রু

5

কারণ তখন ব্যবহারকারী ফাইল সিস্টেমের কোটা এড়িয়ে যেতে পারে। যদি আমার 100MB এর কোটা থাকে এবং আপনার 100MB এর কোটা পাওয়া যায় তবে আমি 100MB আপলোড করতে পারি, chmod a + r করতে পারি, আপনাকে ছুঁড়ে দিতে পারি, তারপরে আরও একটি 100MB আপলোড করতে পারি।

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