লিনাক্স - 777 অনুমতি সহ মালিকানাধীন ফাইলটি সরাতে পারবে না


27

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

ls -al
total 12
dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 .
drwxr-xr-x 3 rayell pg1083760 4096 2011-09-02 04:33 ..
-rwxrwxrwx 1 rayell pg1083760    0 2011-09-02 06:38 default.settings.php
drwxrwxrwx 2 rayell pg1083760 4096 2011-09-02 04:33 files
-rwxrwxrwx 1 rayell pg1083760    0 2011-09-02 06:38 settings.php


rm -Rf *
rm: cannot remove `default.settings.php': Permission denied
rm: cannot remove directory `files': Permission denied
rm: cannot remove `settings.php': Permission denied

কেউ কি আমাকে কি বলতে পারে?


4
সাধারণত, rm -rf DIRECTORY_NAME ব্যবহার করে বিবেচনা করুন এবং "*" নয়। এটি আপনাকে সেই এক সময় থেকে সংরক্ষণ করবে যখন আপনি নিজের মধ্যে ডিরেক্টরি / কিছু / যেখানে / নিরাপদ মনে করবেন তবে পরিবর্তে / বাড়ীতে
Sardathrion

প্রকৃতপক্ষে আমি চেষ্টা করেছিলাম, এটি কেবল সেই 3 টি ফাইল ছিল যা আমি সরাতে পারিনি তাই আমি এই পোস্টের উদ্দেশ্যে কিছুটা পদ্ধতির জন্য সরলীকৃত করেছি।
RaYell

Lsattr এবং chattr কমান্ড ভুলবেন না ...

উত্তর:


59

একটি ফাইল মুছে ফেলার জন্য আপনাকে লিখতে অনুমতি প্রয়োজন ডিরেক্টরি রয়েছে ¹ এই ফাইল।

এখানে অনুমতি আছে dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 . তাই কেউ (অন্য ছাড়া root ) এই ডিরেক্টরির মধ্যে ফাইল মুছে ফেলতে পারেন। মালিক ব্যবহার করতে হবে chmod প্রথম।

-
1. যে জন্য বেশ ভাল কারণ আছে। একটি ফাইল 'অপসারণ' দিয়ে rm, আপনি আসলে চেষ্টা করছেন লিঙ্কমুক্ত এটি ডিরেক্টরি থেকে (হার্ডলিঙ্ক করা কপি মুছে ফেলা হবে না)।


1

আরেকটি সম্ভাব্য প্রশ্ন বৈশিষ্ট্য

lsattr file

এই কমান্ডটি আপনাকে ফাইলটির বৈশিষ্ট্য দেখাবে এবং 'i' বৈশিষ্ট্য সহ একটি ফাইল সংশোধন করা যাবে না (এবং মুছে ফেলা হবে)

তাই আপনার ফাইলের বৈশিষ্ট্যটি পরীক্ষা করুন এবং বৈশিষ্ট্যটি সেট করা হলে 'i' বৈশিষ্ট্যটি সরিয়ে দিন

chattr -i file

2
প্রশ্নটি দেখায় যে এটি এমন ডিরেক্টরির অনুমতি যা লিখিত অনুমতি দেয় না। কোন চেহারা প্রয়োজন।
Toby Speight

0

কারণ প্যারেন্ট ডিরেক্টরি আছে chmod 705 অথবা যে মত কিছু। আপনি করতে পারেন chmod নিম্নলিখিত কমান্ড দ্বারা প্যারেন্ট ডিরেক্টরি:

chmod -R 777 directory_name

এর পর, আপনি যে ডিরেক্টরির এবং এটি ধারণকারী ফাইল মুছে ফেলতে পারেন।


4
দ্বারা লিখনযোগ্য ডিরেক্টরি তৈরীর অনুপযুক্ত না দয়া করে সবাই । যে ভাল পরামর্শ না।
Toby Speight

+1 - সম্মত হন, এই পরামর্শটি অনুসরণ করবেন না, এটি আশ্চর্যজনক, এটি কীভাবে ইন্টারনেট জুড়ে প্লাস্টার করা হয় ... নিরাপত্তাহীনতার পরিমাণ, যা জনগণের পক্ষে এটির পক্ষে অবিশ্বাস্য ...
André Figueira

0

আমি একই সমস্যা ছিল, এবং chmod একা কৌশল না। আমি প্রথমে আমার অপসারণ করা ফাইলগুলির মালিক (ব্যবহারকারী এবং গোষ্ঠী) পরিবর্তন করতে হয়েছিল।

sudo chown -hR root:admin dir_to_delete

ব্যাখ্যা:

  • sudo: সঠিক অধিকার আছে কিনা তা নিশ্চিত করুন
  • chown: ফাইলের মালিক পরিবর্তন করার জন্য লিনাক্স কমান্ড
  • -hR: ডিরেক্টরি এবং সমস্ত সাবডিরেক্টরি মালিক পরিবর্তন। আমি এটি পাওয়া যায় এখানে
  • root: নতুন ব্যবহারকারীর নাম
  • admin: নতুন গ্রুপের নাম

আমি ইতিমধ্যে modifiers পরিবর্তন 777 ছিল; আমি যদি প্রয়োজন ছিল না জানি না।


ডিরেক্টরি মধ্যে ফাইল অনুমতি অপ্রাসঙ্গিক, ডিরেক্টরি নিজেই শুধুমাত্র বিষয় অনুমতি লিখুন। সম্ভবত আগে chown আপনি ডিরেক্টরি মালিক না দলের মালিকানাধীন ডিরেক্টরি সদস্য ছিল।
sgnsajgon
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.