ব্যবহারকারীর মালিকানাধীন ডিরেক্টরি থেকে কিছু ফাইল মোছা রোধ করার কোনও উপায় আছে কি?


42

আসুন ধরা যাক ব্যবহারকারীর ডিরেক্টরি 1 রয়েছে এবং এটিতে ফাইল 1 ফাইল 2 ক্যান্ট বিলেডযুক্ত ফাইল রয়েছে কীভাবে কীভাবে ব্যবহারকারীর ক্যান্টবিডিলেটড ফাইলটি মুছে ফেলার অনুমতি দেওয়া হবে না ?

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

আমি কেবল এমন কিছু ফাইল সেট করতে সক্ষম হতে চাই যা কখনই মোছা হবে না।

আরও নির্দিষ্ট বিবরণ।

আমি ব্যবহারকারীর প্রোফাইল তৈরি করছি। আমি তাদের ডেস্কটপে অ্যাপ্লিকেশন লঞ্চার ফাইলগুলি তৈরি করছি । সুতরাং আমি কিছু লঞ্চার ফাইল (.ডেস্কটপ) সেট করতে এবং তাদের তৈরি করতে চাই যাতে ব্যবহারকারীরা কেবল তাদের লঞ্চ করতে পারে এবং তারা নাম পরিবর্তন করতে বা মুছতে পারে না, কেবল চালু করতে পারে।

বর্তমানে যদি ব্যবহারকারী কোনও ডিরেক্টরি অন্তর্ভুক্ত থাকে তবে যে কোনও ফাইল রয়েছে। সে মুছতে পারে।

যদি সমস্ত * নিক্সের জন্য জেনেরিক উপায় না থাকে তবে এটি একটি লিনাক্স এবং ext4 এফএস।

উত্তর:


40

(আমি ব্যবহারকারীদের বাড়িতে প্রবেশের বিষয়টি অপছন্দ করি, আমি মনে করি যে তারা ঘরে ঘরে যা করতে চায় তাই করার অনুমতি দেওয়া উচিত ... তবে যাইহোক ...)

এটি লিনাক্সে (কমপক্ষে) কাজ করা উচিত। আমি অভিমানী userইতিমধ্যে দলের একজন সদস্য user। একটি সমাধান হ'ল মালিকানার পরিবর্তন Directory1এবং ডিরেক্টরিতে স্টিকি বিট সেট করা:

chown root:user Directory1
chmod 1775 Directory1

তারপরে ব্যবহার করুন:

chown root Directory1/CantBeDeletedFile

এখন, userস্টিকি বিটের কারণে এই ফাইলটি সরাতে সক্ষম হবে না ¹ userএখনও যোগ করার জন্য / তাদের নিজস্ব ফাইল মুছে ফেলুন সক্ষম হয় Directory1। তবে লক্ষ্য করুন যে তারা মুছে ফেলতে পারবেন না Directory1কারণ এটি কখনই খালি হবে না।

-
১. কোনও স্ট্রিটিকে যখন স্টিকি বিট সক্ষম করা হয় তখন ব্যবহারকারীরা (মালিক ব্যতীত) কেবল একটি ডিরেক্টরিতে নিজের ফাইলগুলি সরাতে পারেন। এটি /tmpযার ডিরেক্টরিতে 1777= এর মতো ডিরেক্টরিতে ব্যবহৃত হয় rwxrwxrwt


আমিও অপছন্দ করি তবে ব্যবহারকারীরা লিনাক্স বিশ্বে নবাগত। যদি তারা কোনও
প্রবর্তক

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

@ বাকিটন: এটি কি কেবলমাত্র একটি সতর্কতা বা আপনি আসলে সমর্থন কলটি পেয়েছেন? কারণ বেশিরভাগ নবজাতক সম্ভবত তারা জানেন না এমন ফাইলগুলির সাথে জগাখিচুড়ি করতে ভয় পাবে।
মিথ্যা রায়ান

@ লাই রায়ান 100% নিশ্চিত যে তারা সমর্থনের জন্য ডাকবে। তবে হ্যাঁ, বর্তমানে এটি কেবল একটি সাবধানতা।
বাকিটন

শিগগির বা প্রশিক্ষণের চাকাগুলি বন্ধ করতে হবে ... এবং তারা যদি সাইকেল চালানো শিখেনি তবে দুর্ঘটনাটি দেখার বিষয়। আমি উত্তরের সাথে সম্মত হই, সম্ভবত পরিসংখ্যানবিহীন অন-লাইন সহায়তা এবং ক্যানড স্প্যাম "যদি আপনি 'দুর্ঘটনাক্রমে' এই ডেস্কটপফাইলে মুছে ফেলে থাকেন তবে প্রথমে নিকটতম প্রাচীরের কাছে যান এবং তার বিরুদ্ধে আপনার মাথাটি তিনবার (ভাগ্যের জন্য) শক্ত করে চাপুন এবং তারপরে cp /here/is/the/master/ThisDesktopFile $HOMEস্বাক্ষরিত Sign : BOfH "
ভোনব্র্যান্ড

63

iঅ্যাট্রিবিউট দিয়ে ফাইলটিকে অপরিবর্তনীয় করে তুলুন।

chattr +i file.desktop

দেখতে man chattrআরও তথ্যের জন্য।


8
আমি এই নোটটি উল্লিখিত ম্যান পৃষ্ঠা থেকে অনুমান করতে অক্ষম হওয়ায় আমি এই নোটটি যুক্ত করেছি: chattrকেবলমাত্র ext2 / ext3 / ext4 ফাইল সিস্টেমে কাজ করে।
manatwork

এই এত শান্ত! এটা কাজ করেছে! ধন্যবাদ জনাব! মার্জিত সমাধান, তবে একটি সীমাবদ্ধতা। এমনকি রুট এই ফাইলগুলিকে প্রথমে পরিবর্তনযোগ্য না করে মুছে ফেলতে পারে না। তবে এটি আসলে এত দুর্দান্ত। কোন উত্তর গ্রহণ করবেন তা নিশ্চিত ছিল না। আরও জেনেরিক উপায়ে গ্রহণ করা হয়েছে তবে দ্রুত কম
বাকীটনে

@ মান্যাটওয়ার্ক এটি কমপক্ষে এক্সএফএসেও কাজ করে, আমি অনুমান করি যে কিছু অন্যান্য ফাইল সিস্টেমগুলিও এই বৈশিষ্ট্যগুলিকে সমর্থন করে।
রুসলান

এই আদেশটি 'পূর্বাবস্থায়' আনতে, কেবল করুনchattr -i file.desktop
গ্রীনআরাকুন 23

1
আমি এটি লিনাক্সের জেডএফএসে পরীক্ষা করেছি এবং এটি কাজ করেছে। আমি baculaফোল্ডারটি উপেক্ষা করার জন্য ব্যাকআপ প্রোগ্রামটি নির্দেশ দেওয়ার জন্য ব্যবহৃত কোনও ফাইল মুছতে বাধা দিতে চেয়েছিলাম ।
drescherjm

2

আমি ইউনিক্স ফাইল অনুমতি সহ পৃথক ফাইল মুছে ফেলা রোধ করার উপায় আছে বলে মনে করি না, তবে আমি একটি কার্যকারিতা সম্পর্কে চিন্তা করতে পারি: একটি ডেমন লিখুন যা এটি সরানো হলে এটি প্রতিস্থাপন করে। inotify-toolsআপনি লিনাক্সে থাকলে এই ধরণের জিনিসটির জন্য উপযুক্ত।

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


0

সাধারন

chmod -i filename

ফাইলটি মুছে ফেলা থেকে "সুরক্ষা" দেবে।

rm filename
rm: remove write-protected regular file 'filename'?

আপনি এখনও এটি মুছতে পারেন, তবে আপনি কী করছেন সে সম্পর্কে আপনার অবশ্যই কমপক্ষে নিশ্চিত হওয়া উচিত।

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