রুট না হয়ে কেন আমি আমার হোম ডিরেক্টরিতে রুটের মালিকানাধীন কোনও ফাইল মুছতে সক্ষম হয়েছি?


40

তাই আমি আজ আগে আমার সার্ভারে কিছু রক্ষণাবেক্ষণ করছিলাম এবং লক্ষ্য করেছি যে আমি আমার হোম ডিরেক্টরিতে রুটের মালিকানাধীন একটি ফাইল মুছতে সক্ষম হয়েছি।

আমি একটি নমুনা পুনরুত্পাদন করতে সক্ষম ছিল:

[cbennett@nova ~/temp]$ ls -al
total 8
drwxrwxr-x.  2 cbennett cbennett 4096 Oct  5 20:59 .
drwxr-xr-x. 22 cbennett cbennett 4096 Oct  5 20:58 ..
-rw-rw-r--.  1 cbennett cbennett    0 Oct  5 20:58 my-own-file
[cbennett@nova ~/temp]$ sudo touch file-owned-by-root
[cbennett@nova ~/temp]$ ls -al
total 8
drwxrwxr-x.  2 cbennett cbennett 4096 Oct  5 21:00 .
drwxr-xr-x. 22 cbennett cbennett 4096 Oct  5 20:58 ..
-rw-r--r--.  1 root     root        0 Oct  5 21:00 file-owned-by-root
-rw-rw-r--.  1 cbennett cbennett    0 Oct  5 20:58 my-own-file
[cbennett@nova ~/temp]$ rm file-owned-by-root
rm: remove write-protected regular empty file ‘file-owned-by-root’? y
[cbennett@nova ~/temp]$ ls -al
total 8
drwxrwxr-x.  2 cbennett cbennett 4096 Oct  5 21:00 .
drwxr-xr-x. 22 cbennett cbennett 4096 Oct  5 20:58 ..
-rw-rw-r--.  1 cbennett cbennett    0 Oct  5 20:58 my-own-file
[cbennett@nova ~/temp]$

আমার প্রশ্ন হ'ল আমি রুটের মালিকানাধীন এমন কোনও ফাইল মুছতে সক্ষম -rw-r--r--হয়েছি এবং আমি রুট না থাকা অবস্থায় এর অনুমতি রয়েছে ?


6
আপনি ডিরেক্টরিটিতে লেখার অ্যাক্সেস থাকার কারণে আপনি যে ডিরেক্টরিতে ফাইলটি নির্দেশ করেন সেই ডিরেক্টরিতে থাকা এন্ট্রি সরাতে পারেন । আপনি অগত্যা ফাইলটি মুছতে পারবেন না; ফাইলটির অন্য কোনও লিঙ্ক থাকতে পারে।
ব্যবহারকারী 253751

2
মজাদার এক্সটেনশন: আপনি ফাইলটির নামও পরিবর্তন করতে পারেন, বা এর হার্ড লিঙ্ক তৈরি করতে পারেন।
পিটার বলেছেন, মনিকা

11
কারণ বর্তমান এক নিতান্ত বিভ্রান্তিকর হয়, গৃহীত উত্তরের জন্য আপনার পছন্দের পুনর্বিবেচনা করুন: আপনি হয় না করার অনুমতি দেওয়া কিছু করতে এটা ডিরেক্টরি অনুমতি উপর ভিত্তি করে এটি মধ্যে বিষয়বস্তু পিপীলিকা থেকে
চথুলহু

@ চতুহুলু হয়ে গেল! এই প্রশ্নোত্তর সম্পর্কে সমস্ত মন্তব্যের জন্য সবাইকে ধন্যবাদ, অবশ্যই এখানে অনেক দরকারী তথ্য!
কার্ল বনেট 16 ই

উত্তর:


34

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

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

আপনি যখন কোনও ফোল্ডার শূন্য নয় তা মুছে ফেলার সময় আপনার মুছে ফেলার ফোল্ডারে এবং তার পিতামাতার লেখার অনুমতি প্রয়োজন।


1
সুতরাং অনুমতিগুলি ইনোডে রয়েছে বা অনুমতিগুলি ইনোডের লিঙ্কে রয়েছে , এবং আমি কেবল সেই লিঙ্কটি সরিয়ে দিচ্ছি (এবং এইভাবে এটির একমাত্র লিঙ্কটি সরিয়ে ফেলা হয়েছে, তাই ইনোডটির অস্তিত্ব বন্ধ হয়ে যায়)?
কার্ল বেনেট

3
অনুমতিগুলি ইনোডে রয়েছে। এটি সহজেই কোনও ফাইলের একটি হার্ড লিঙ্ক তৈরি করে, তার উপর অনুমতিগুলি পরিবর্তন করে এবং তারপরে মূলটিতে অনুমতিগুলি পরীক্ষা করে যাচাই করা হয়।
ওয়াউটার ভারহেলস্ট

তবে আসুন আমরা এটি বলতে পারি যে এটিতে একটি ডিরেক্টরি এবং একটি ফাইল উভয়ই মূল সম্পর্কিত যা ডিরেক্টরিটি ব্যবহারকারীর মালিকানাধীন একটি ডিরেক্টরিতে রয়েছে। আপনি তখন সেগুলি সরাতে সক্ষম হবেন না, তাই না?
njzk2

1
এটি ext2, ext3 এবং ext4 এর সাথে সম্পর্কিত একটি বৈশিষ্ট্য। উদাহরণ: sudo touch test_file;sudo chattr +i test_file;rm -f test_fileদেখুন:man chattr
মিরসিয়া ভুটকোভিচি

1
অপরিবর্তনীয় বৈশিষ্ট্য কোনও ফাইলকে মূল থেকে এমনকি যে কোনও পরিবর্তনের জন্য সুরক্ষা দেয়।
মিরসিয়া ভুটকোভিচি

19

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


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

1
@ চথুলহু তাই আপনি কি কোনও মূলের মালিকানাধীন ফাইলটি মুছতে এবং একই নামের সাথে একটি নতুন পরিবর্তিত ফাইল তৈরি করতে পারেন?
কেডিএক্স

3
@ মুরগোরথ হ্যাঁ আপনি করতে পারেন, তবে এটি আর একই ফাইল হবে না। অন্য একটি (সম্ভবত আরও সুস্পষ্ট) উদাহরণস্বরূপ, আপনি যদি আপনার ডিরেক্টরিতে মূলত অন্তর্ভুক্ত থাকেন তবে কেবলমাত্র তার মালিক এটি পড়তে পারলে আপনার ডিরেক্টরিতে ফাইলটি পড়তে পারবেন না।
চিতুলহু

@inetknght এটি পরিষ্কার করা উচিত। আমি বুঝতে পেরেছি যে আপনি ফাইলগুলি নিজেরাই সত্ত্বা হিসাবে চালনার বিষয়ে উল্লেখ করার চেষ্টা করছেন তবে এটি পরিষ্কার নয়। উদাহরণস্বরূপ আপনি এর সামগ্রীগুলি সংশোধন করতে সক্ষম নন। এবং আপনি এমন বৈশিষ্ট্যগুলি উল্লেখ করেন নি যা ট্রাম্প ডিরেক্টরি অনুমতিগুলি হতে পারে।
মাইক এস

1
@ ক্যাপ্টচা কারণ viএটি অস্থায়ী অনুলিপিতে ফাইলটি প্রথমে সংরক্ষণ করে, তারপরে মূল ফাইলটি মুছে ফেলে এবং অনুলিপিটিকে মূলটিতে (বা এর মতো কিছু) নতুন নাম দেয়।
চথুলহু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.