775/664 ব্যতীত অনুমতি সহ ডিরেক্টরি এবং ফাইলগুলি সন্ধান করুন


21

আমি একটি ওয়েবসাইটকে অন্য সার্ভার থেকে অন্য সার্ভারে নিয়ে যাচ্ছি এবং গিট ফাইল অনুমতি হিসাবে মেটাডেটা সঞ্চয় করে না। আমার যথাক্রমে 775/664 নয় এমন ডিরেক্টরি এবং ফাইলগুলি সন্ধান করতে হবে।

এই মুহুর্তে, আমি এই আবদ্ধ-একসাথে গর্ভনিরোধ ব্যবহার করছি:

$ find . -type d -exec ls -la {} \; | grep ^d | grep -v ^drwxrwxr-x
$ find . -type f -exec ls -la {} \; | grep -v ^d | grep -v ^-rw-rw-r-- | grep -v '.git'

যদিও এটি কাজ করে, আমি এটি বরং হ্যাকি মনে করি। এটি করার আরও ভাল উপায় আছে, সম্ভবত একটি প্রচলিত উপায়, বা আমার কেবল হ্যাকি হওয়া উচিত?

এটি ব্যাশের অধীনে জিএনইউ সরঞ্জাম সহ সাম্প্রতিক উবুন্টু সংস্করণে চলছে।

উত্তর:


39

এর সাথে মিলিয়ে -permপরীক্ষাটি ব্যবহার করুন :find-not

find -type d -not -perm 775 -o -type f -not -perm 664
  • -perm 775অনুমতি ঠিক সমান সঙ্গে সব ফাইল মিলে যায় 775-perm 664একই জন্য 664
  • -not (বুলিয়ান নোট) পরবর্তী পরীক্ষার বিষয়টি অগ্রাহ্য করে, সুতরাং এটির যা হবে তার বিপরীতে এটি মেলে: এক্ষেত্রে, সেই সমস্ত ফাইলের সঠিক অনুমতি নেই।
  • -o(বুলিয়ান ওআর) দুটি সেট টেস্ট একসাথে একত্র করে, উভয়ই যখন হয় তখন এটি মিলবে: এর সর্বনিম্ন নজরে রয়েছে, সুতরাং এটি আমাদের পরীক্ষাগুলিকে দুটি স্বতন্ত্র গ্রুপে বিভক্ত করে। আপনি আরও স্পষ্ট হওয়ার জন্য বন্ধনী ব্যবহার করতে পারেন । এখানে আমরা অনুমতি না সঙ্গে ডিরেক্টরি মেলে 775এবং অনুমতি না সঙ্গে সাধারণ ফাইল 664

আপনি যদি ডিরেক্টরি এবং ফাইলগুলির জন্য দুটি পৃথক কমান্ড চেয়েছিলেন তবে এটি অর্ধেক কেটে -oপ্রতিটি অর্ধেক আলাদাভাবে ব্যবহার করুন।


সুন্দর আপনাকে ধন্যবাদ! আমি জানতাম না যে দুটি পৃথক শর্ত সেট করা যেতে পারে (টাইপ-ডি এবং টাইপ -f উদাহরণস্বরূপ) অথবা আমি-স্পর্ম সম্পর্কে জানতাম না।
দোটানকোহেন

সম্ভবত লক্ষ্য করুন যে -notএটি পসিক্স মান নয়; তারা !পরিবর্তে ব্যবহার ।
ব্যবহারকারী1404316

2

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

সুতরাং এটি আমি উবুন্টু 16.04 এ সফলভাবে ব্যবহার করছি

find \! -perm 775 -type d -exec chmod 775 {} \;
find \! -perm 664 -type f -exec chmod 664 {} \;

এটি দেখায়! প্রতীক পালানো হচ্ছে


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