এখানে কোন ম্যাজিক বুলেট নেই। অনুমতিগুলি সর্বদা অনর্থক নয় এমন তথ্য বহন করে।
যদি আপনি এটি কোনও সিস্টেম ডিরেক্টরিতে করে থাকেন তবে আপনার সিস্টেমটি খুব খারাপ অবস্থায় থাকবে, কারণ আপনাকে সেটুয়েড এবং সেটগিড বিটগুলি সম্পর্কে, এবং যে ফাইলগুলি বিশ্ব-পঠনযোগ্য নয় এবং ফাইলগুলি সম্পর্কে চিন্তা করতে হবে যেগুলি গ্রুপ-বা বিশ্ব-লিখনযোগ্য বলে মনে করা হয়।
প্রতি ব্যবহারকারী ডিরেক্টরিতে আপনাকে এমন ফাইলগুলি নিয়ে চিন্তিত হতে হবে যা বিশ্ব-পঠনযোগ্য নয়। সেখানে কেউ আপনাকে সাহায্য করতে পারে না।
এক্সিকিউটিবিলিটি হিসাবে, থাম্বের একটি ভাল নিয়ম হ'ল এটি কার্যকর করা যেতে পারে এমন দেখাচ্ছে না এমন কিছুই করা, অযৌক্তিক হতে হবে। কার্নেল স্ক্রিপ্টগুলি সম্পাদন করতে পারে যার প্রথম দুটি বাইট #!
, ELF বাইনারি \x7fELF
যেখানে প্রথম চার বাইট যেখানে \x7f
12 এর মান সহ বাইট এবং কয়েকটি বিরল ফাইল প্রকার (আউটআউট, যার সাথে নিবন্ধীকৃত কিছু binfmt_misc
) রয়েছে exec সুতরাং নিম্নলিখিত কমান্ডটি আপনার অনুমতিগুলি একটি যুক্তিসঙ্গত অবস্থায় ফিরিয়ে আনতে হবে (ধরে নেওয়া বাশ 4 বা zsh, অন্যথায় find
ডিরেক্টরি বৃক্ষটি অতিক্রম করতে ব্যবহার করতে হবে; সতর্কতা, সরাসরি ব্রাউজারে টাইপ করা):
for x in **/*; do
if ! [ -f "$x" ]; then continue; fi # skip all but regular files
case $(head -c 4 "$x") in
"#!"??) :;; # skip script
"\x7fELF") :;; # skip ELF executable
*) chmod a-x "$x";;
esac
done
নোট করুন যে লিনাক্সে এবং সম্ভবত এসিএল সমর্থন সহ অন্যান্য ইউনিটগুলিতে ডিরেক্টরি গাছের অনুমতিগুলি ব্যাকআপ ও পুনরুদ্ধার করার একটি সহজ উপায় রয়েছে:
getfacl -R >saved-permissions
setfacl --restore=saved-permissions
/
অন্য কোনও ডিরেক্টরিতে করেছেন?