এখানে সমস্যাটি সম্ভবত সঙ্গীত ফোল্ডারের অ্যাক্সেস কন্ট্রোল লিস্ট (এসিএল) এর সাথে করতে হবে। এসিএল হ'ল নিয়মিত পসিক্সগুলির জন্য পৃথক অনুমতি ব্যবস্থা যা সাধারণত তালিকাবদ্ধ থাকে ls -l
। হোম ফোল্ডারে এবং অন্য কোথাও কয়েকটি ডিরেক্টরিতে এসিএল রয়েছে।
হোম ডিরেক্টরিতে এসিএলগুলি দেখতে, ব্যবহার করুন:
/bin/ls -le ~
আপনি সম্ভবত 0: group:everyone deny delete
সংগীত ডিরেক্টরিটির মতো একটি নিয়ম দেখতে পাবেন । আপনি যেমন উল্লেখ করেছেন আপনি সমস্যাটি ওভাররাইড করতে পারেন sudo
। আপনি যদি এটি করতে না চান (বা না করতে পারেন) তবে আপনার কাছে অন্য বিকল্প রয়েছে, আপনি যদি ফাইলটির মালিক হন তবে। আপনি তার সূচীর উপর ভিত্তি করে সংগীত ডিরেক্টরিটির এসিএল থেকে আপত্তিজনক এন্ট্রিটি ছাঁটাই করতে পারেন (0 উদাহরণটিতে আমি উপরে দিয়েছি):
/bin/chmod -a# 0 Music
অথবা আপনি এসিএলে সমস্ত এন্ট্রিগুলি সরিয়ে ফেলতে পারেন:
/bin/chmod -N Music
এখন আপনি ডিরেক্টরিটি চারপাশে স্থানান্তর করতে পারেন (নিয়মিত POSIX অনুমতি সাপেক্ষে)। সরানোর পরে আপনি যদি এসিএলকে পিছনে রাখতে চান তবে আপনি ব্যবহার করতে পারেন:
/bin/chmod +a "group:everyone deny delete" Music_tmp
এবং /bin/ls -le
এসিএল যেমনটি চান তা নিশ্চিত করতে আবার ব্যবহার করুন । man chmod
আরও তথ্যের জন্য এসিএল উদাহরণগুলি দেখুন। বিশেষত, এই ভূমিকাটি সহায়ক:
প্রতিটি ফাইলের একটি করে এসিএল থাকে, যাতে প্রবেশের আদেশের তালিকা থাকে। প্রতিটি এন্ট্রি কোনও ব্যবহারকারী বা গোষ্ঠীকে বোঝায় এবং অনুমতিগুলির একটি সেট মঞ্জুরি দেয় বা অস্বীকার করে। কোনও ক্ষেত্রে ব্যবহারকারী এবং একটি গ্রুপ একই নামের সাথে উপস্থিত থাকলে, নাম / ধরণের নির্দিষ্টকরণের জন্য ব্যবহারকারী / গোষ্ঠীর নামটিকে "ব্যবহারকারী:" বা "গোষ্ঠী:" দিয়ে উপস্থাপন করা যেতে পারে।
এসিএল অর্ডার
আমি মনে করি না যে ম্যান পৃষ্ঠাটি অর্ডার দেওয়ার চারপাশের নিয়মগুলি ব্যাখ্যা করে তবে এই পৃষ্ঠাটি এসিএলগুলির জন্য আদেশের বিধিগুলি পরিষ্কারভাবে ব্যাখ্যা করে। বিশেষত, একটি সুস্পষ্ট deny
নিয়মের আগে একটি সুস্পষ্ট allow
বিধি প্রয়োগ করা হবে । সুতরাং, যতক্ষণ না group:everyone deny delete
এন্ট্রি স্থির থাকে ততক্ষণ কোনও allow
নিয়ম দিয়ে আপনার ব্যবহারকারীর মুছতে অনুমতি দেওয়া সম্ভব নয় । এটি কারণ এই everyone
গোষ্ঠীতে অনুমতি অস্বীকার করা হয়েছে , এতে আপনি অন্তর্ভুক্ত আছেন এবং সেই নিয়মটি প্রথমে প্রয়োগ করা হবে।