ম্যাকের উপর হারানো গোষ্ঠী অনুমতিগুলি পুনরুদ্ধার করা হচ্ছে


3

ম্যাকের ভয়ানক ফাইল ভাগ করে নেওয়ার প্রিফ ব্যবহার করে, আমি আমার ডকুমেন্টস ডিরেক্টরিতে অনুমতিগুলি পরিচালনা করতে সক্ষম হয়েছি। আমার নথি-নথি ডিরেক্টরিতে এর মতো অনুমতি রয়েছে:

drwx------+ for .
drwxr-xr-x+ for ..
-rw-------@ for .DS_Store

drwxr-xr-x  for most folders
drwxr-xr-x@ for some folders

-rw-r--r--  for some files
-rw-r--r--@ for some files

আমার দস্তাবেজ ডিরেক্টরিতে এর মতো অনুমতি রয়েছে:

drwx---r-x+ for .
drwx---r-x+ for ..
-rw----r--@ for .DS_Store

drwx---r-x+ for (all?) folders

-rw----r--@ for some files
-rw----r--+ for some files

দেখে মনে হচ্ছে যে সমস্ত কিছুতে পাঠ্য অ্যাক্সেস থাকা উচিত তা এটি অনুপস্থিত। আমি বুঝতে পারি যে chmod সাহায্য করতে পারে, এবং এটিতে একটি -আর পুনরাবৃত্তির বিকল্প রয়েছে তবে আমি আরও পরীক্ষা-নিরীক্ষা শুরু করতে এবং জিনিসগুলিকে আরও জগাখিচু করা শুরু করতে নারাজ। বিশেষত, আমি এমন জায়গাগুলিতে গ্রুপ পঠন সেট করতে চাই না যেখানে এটি থাকা উচিত নয়। এছাড়াও, আমি অন্য কিছুকে একা রেখে কিছু বিট পরিবর্তন করতে চাই।

এটি স্থির করার বিষয়ে কেউ কি পরামর্শ দিতে পারেন?

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


উপেক্ষা করুন @, এটি কেবল বর্ধিত বৈশিষ্ট্য। চালান ls -laeACL এর তথ্য (দ্বারা নির্দেশিত পেতে +) যে নিয়মিত ইউনিক্স অনুমতি ওভাররাইড পারে (তারা সম্ভবত ব্যতীত সেখানে থাকার কথা নয় হয়তো ডকুমেন্টস ফোল্ডারের নিজেই তে) খুলুন। ডিফল্ট অনুমতিগুলি ডকুমেন্টস ফোল্ডারের জন্য 700, সমস্ত ধারণকৃত ফোল্ডারগুলির জন্য 755 এবং সমস্ত অন্তর্ভুক্ত ফাইলগুলির জন্য 644 (এবং আমরা সম্ভবত সম্পাদনের অনুমতিগুলি উপেক্ষা করতে পারি)। staffসমস্ত প্রকৃত ব্যবহারকারী অ্যাকাউন্টের প্রধান গোষ্ঠী (সিস্টেমের অভ্যন্তরীণ ব্যবহারকারীদের বিপরীতে)।
ড্যানিয়েল অঙ্গুলিনির্দেশ

উত্তর:


2

একটি চিম্টিতে, আপনি আপনার দস্তাবেজ ডিরেক্টরিতে প্রবেশ করে এবং জারি করে গ্রুপ পড়তে / লেখার অনুমতিগুলি যুক্ত করতে পারেন:

chmod -R g+rw *

আপনার যদি মালিকানা ঠিক করতে হয় তবে আপনি এটি করতে পারেন:

chown -R user.group *

[স্পষ্টতই আপনি প্রতিস্থাপন userএবং groupপ্রকৃত কোনও ব্যবহারকারী এবং গোষ্ঠীর নাম সহ]

এখন আপনাকে কেবল ডিরেক্টরিগুলি ঠিক করতে হবে।

find . -type d | replace ' ' '\ ' | xargs chmod g+x

উপরের কলটি সমস্ত ডিরেক্টরি সন্ধান করে, তারপরে ব্যাকস্ল্যাশ (স্পেস পাস করার জন্য প্রয়োজনীয় xargs) দিয়ে ফাঁকা স্থানগুলি ছেড়ে যায় , তারপরে প্রতিটিটিতে গ্রুপ এক্সিকিউটিভ পারমিশন যুক্ত করে। replaceকমান্ড মাইএসকিউএল অংশ। আপনার যদি না থাকে তবে আপনি এটি ব্যবহার করতে পারেনsed 's/ /\\ /g'

আমার লিনাক্স ডিস্ট্রো স্ল্যাকওয়্যার হ'ল অস্বীকৃতি। আমি ম্যাক এ কাজ করবে আশা করি, কিন্তু আমি পরীক্ষা করতে পারি না। আপনি প্রতিস্থাপন করতে পারেন xargs chmod g+xসঙ্গে echo | moreআপনি একটি বৈধতা পরীক্ষা করতে চান।

মনে রাখবেন আপনি প্রথমে ফাইলটি আউটপুটটি পাইপ করতে পারেন:

find . -type d | replace ' ' '\ ' > dirs.txt

তারপরে আপনি সেই ফাইলটি পর্যালোচনা করতে পারেন এবং যে কোনও ডিরেক্টরি আপনি পরিবর্তন করতে চান না তা সরাতে একটি পাঠ্য সম্পাদক ব্যবহার করতে পারেন। তারপরে পুনরাবৃত্ত কলগুলির পরিবর্তে chmodআপনি এটি করতে পারেন:

cat dirs.txt | sed 's/$/\/*/' | xargs chmod g+rw
cat dirs.txt | xargs chmod +x

sedডিরেক্টরিটি সমস্ত ফাইল ডিরেক্টরিতে বোঝাতে কেবল কলটি প্রতিটি লাইনের শেষটিকে '/ *' দিয়ে প্রতিস্থাপন করে।


0

যদি আমি মনে করি, মানক ls rwxrwxrwx ACL গুলির পরে + গুণাবলী। আমি সাবধান থাকি কারণ আপনার গ্রুপ পড়ার অ্যাক্সেসটি এসিএল স্কিমের একটি অংশ হতে পারে।

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