সুডো ব্যবহার না করেই?
সুডো ব্যবহার না করেই?
উত্তর:
চেষ্টা করুন:
chattr +i filename
যদিও এটি করা, root
ব্যবহারকারী ফাইল দ্বারা ফাইলটিকে মুছে ফেলা-সক্ষম করে তুলবে - সতর্কতার সাথে ব্যবহার করুন।
touch test && chattr +i test
এটি করার সময় একটি ত্রুটি ছুড়ে দেয়; chattr: Operation not permitted while setting flags on test
। আপনি প্রয়োজন sudo
এই জন্য। এর পাশেই: ফাইলটি মুছতে এখনও সম্ভব: sudo chattr -i test && rm test
কাজ করে।
না, এটি সম্ভব নয়। সাধারণ ব্যবহারকারীদের পক্ষে কোনও ফাইল মুছে ফেলা অসম্ভব: নিশ্চিত।
আপনার sudo
ফাইলগুলি মুছতে ব্যবহারকারীদের বাধা দিতে হবে। আপনার প্রশাসক - সর্বদা - একটি ফাইল মুছতে সক্ষম হবেন।
sudo chattr +i test
মুছে ফেলা রোধ করতে পারে তবে প্রয়োজন sudo
। একটি সরল sudo chattr -i test
ফাইল মুছে ফেলা সম্ভব করে তোলে। অ্যাডমিন ব্যতীত অন্য কোনও ব্যবহারকারী ব্যবহার করতে পারবেন না chattr
।
এবং ... কেবল পুনরায় চালু করা এবং উদ্ধার মোডে যাওয়া সেই ব্যক্তিকে সেই ফাইলটি মুছতে সক্ষম করে। এটি কোনও সুরক্ষা ঝুঁকি হতে পারে যদি কোনও পদ্ধতি কখনও ফাইল মুছতে সক্ষম না হয়।
এটি সামান্য অশোধিত, তবে এটি কাছে - আপনি যদি ডিরেক্টরিটিতে লেখার অ্যাক্সেস সরিয়ে ফেলেন তবে এর অভ্যন্তরের ফাইলগুলি মোছা যাবে না। sudo
আপনার যদি এটির মালিকানা থাকে তবে এটির প্রয়োজন হয় না :
=^_^= izkata@izein:~$ mkdir test
=^_^= izkata@izein:~$ touch test/delme
=^_^= izkata@izein:~$ chmod a-w test
=^_^= izkata@izein:~$ echo 'Hello' > test/delme
=^_^= izkata@izein:~$ cat test/delme
Hello
=^_^= izkata@izein:~$ rm test/delme
rm: cannot remove `test/delme': Permission denied
সুতরাং আপনি চাইলে ফাইলটিতেই অনুমতি সেট করতে পারেন।
এছাড়াও, @ রিনজুইন্ডের বক্তব্য অনুসারে, এর চারপাশে অবশ্যই অনেকগুলি উপায় রয়েছে।
একটি ফাইল মোছার জন্য, আপনার যে ফাইলের সাথে লিঙ্ক রয়েছে তার সমস্ত লেখার অনুমতি দরকার। এটি একটি ডিরেক্টরি থেকে লিঙ্কমুক্ত করতে আপনার সেই ডিরেক্টরিতে লেখার অনুমতি প্রয়োজন।
সুতরাং যতক্ষণ আপনি ফাইলটির লিখনের অনুমতি (বা এমনকি মালিকানা) দেন কিন্তু যে ডিরেক্টরি বা ডিরেক্টরিটি ফাইলটি লিঙ্কযুক্ত সেগুলিতে নয়, সেই ফাইলটি মোছা যাবে না।
এটি অর্জনের সর্বোত্তম উপায় হ'ল সেই ফাইলটিকে মূলত একটি মালিকানাধীন ডিরেক্টরিতে যুক্ত করা এবং এটি কারও দ্বারা লেখার যোগ্য নয়। পরিবর্তে আপনি এটি নিজের মালিকানাধীন করতে পারেন যার অর্থ আপনার এবং মূল উভয়ই মুছতে পারে।
এটি এখনও অন্য ব্যবহারকারীদের সেই ফাইলটিকে অন্য ডিরেক্টরিতে লিঙ্ক করতে এবং সেখান থেকে এটিকে লিঙ্কমুক্ত করার অনুমতি দেয়, তবে তারা এখনও আপনার নিজের ডিরেক্টরি থেকে এটি লিঙ্কমুক্ত করতে সক্ষম হওয়ায় তারা ফাইলটি মুছতে সক্ষম হবেন না।
মনে রাখবেন যে এটি পুরোপুরি কাজ করার জন্য, ফাইলের প্রতিটি পাথ উপাদানগুলির লেখার অনুমতিটি নিয়ন্ত্রণ করতে হবে। কারণ উদাহরণস্বরূপ যদি ফাইলটি থাকে /a/b/the-file
এবং আপনি /a/b
কারও দ্বারা লিখিত নাও /a
হতে পারে তবে প্রত্যেকেরই লেখার অ্যাক্সেস রয়েছে তবে তারা /a/b
অন্য কোনও নামকরণ করতে পারে এবং নিজের পুনরায় /a/b
তৈরি করতে পারে এবং /a/b/the-file
সেখানে নিজের তৈরি করতে পারে।