আমি আরএম-আরএফ দিয়ে ডিরেক্টরি ট্রি সরাতে পারি না


9

এটি আমার কাছে খুব অদ্ভুত বলে মনে হচ্ছে। আমি কার্নেলটি ২.6.৩ running.২ চালিয়ে দৌড়েছি:

~]$ cp -r /proc/ here
~]$ rm -rf here

প্রত্যাশার মতো অনুলিপি করার সময় আমি কিছু অনুমতি অস্বীকার করি এবং শেষ পর্যন্ত আমি কন্ট্রোল-সিতে আঘাত করি। Permission deniedনতুন ডিরেক্টরি এবং ফাইলগুলি সরিয়ে দেওয়ার চেষ্টা করার সময় আমি প্রচুর ফাইল পেয়ে যাই ।

একটি নোট হিসাবে, আমি এই অদ্ভুত আচরণটি পেয়েছি কারণ একটি বন্ধু আমাকে .tgzতার /procদির একটি স্ন্যাপশট পাঠিয়েছিল । আমি ডিরেক্টরিটি বের করেছি এবং যখন আমি এটি সন্ধান করা শেষ করেছি তখন আমারও একই সমস্যা হয়েছিল।

rm -rf রুট হিসাবে কাজ করে।

lsattr ই বৈশিষ্ট্যটি দেখায় (যা আমার সমস্ত ফাইল / ডিরেক্টরি দেখায়)।


আমি আপনার প্রশ্নের শিরোনামটি কিছুটা সাধারণীকরণ করেছি কারণ মূল সমস্যাটি নেই /proc। যাইহোক, এই সময়ের জন্য এটি কিছুটা দেরি হয়ে গেছে, তবে আপনি প্রশ্ন পোস্ট করার পরে যদি উত্তরটি খুঁজে বের করেন তবে এটির নিজের উত্তর দেওয়া ভাল , এবং এটি অন্য লোকদের জন্য ছেড়ে দিন যারা সম্ভবত একই সমস্যা হতে পারে।
গিলেজ 'SO- স্টপ হচ্ছে মন্দ'

উত্তর:


16

যদি খালি খালি ডিরেক্টরি থাকে যেখানে আপনার লেখার অনুমতি নেই তবে আপনি এর সামগ্রীগুলি সরাতে পারবেন না।

$ mkdir foo
$ touch foo/bar
$ chmod a-w foo
$ rm -rf foo
rm: cannot remove `foo/bar': Permission denied

কারণটি হ'ল rmঅন্য কমান্ডের মতো অনুমতি দ্বারা আবদ্ধ এবং সরানোর barঅনুমতিতে লেখার অনুমতি প্রয়োজন foo। আপনি যখন rmরুট হিসাবে চলবেন তখন এটি প্রযোজ্য না কারণ রুটে সর্বদা একটি ফাইল সরানোর অনুমতি থাকে।

ডিরেক্টরি ট্রিটিকে অপসারণযোগ্য করতে, এর সমস্ত ডিরেক্টরিকে লিখনযোগ্য করে তুলুন (নিয়মিত ফাইলগুলির অনুমতিগুলি এটি মুছে ফেলার ক্ষেত্রে আসে না rm -f)। আপনি এই আদেশগুলির মধ্যে যে কোনওটি ব্যবহার করতে পারেন:

chmod -R u+w here        # slow if you have a lot of regular files
find here -type d -exec chmod u+w {} +

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