ইত্যাদি ডিরেক্টরিতে আমি কীভাবে কোনও chmod ফিরিয়ে আনতে পারি?


9

আমি ঘটনাক্রমে ইত্যাদি ডিরেক্টরিতে নিম্নলিখিত কমান্ডটি কার্যকর করেছি:

sudo chmod -R 700 /etc

আমি জানি যে আমি খুব ভুল কিছু করেছি। আমার টার্মিনালটি এখন মুদ্রণ করে:

I have no name!@ubuntu: /$

আমি কীভাবে আমার ইত্যাদি ডিরেক্টরিটিকে এর আগের অবস্থায় ফিরিয়ে আনতে পারি?

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


3
ls -laRঅন্য চলমান সিস্টেম থেকে আপনার ডিরেক্টরি তালিকা ( ) দরকার need আপনার কি সংস্করণ? আপনি ডিরেক্টরিগুলি 755 এবং ফাইলগুলিকে 644 এ পরিবর্তন করতে পারেন তবে কিছুটির অবশ্যই পৃথক মোড থাকতে হবে (যেমন / ইত্যাদি / ছায়া উদাহরণ)।
অট--

4
আপনি যখন টাইপ করবেন তখন sudoএটি আপনার মাথায় আবার পড়তে হবে "আমি কোনও সুরক্ষা জাল না দিয়ে আমার সিস্টেমে নিজেকে চূড়ান্ত শক্তি দিচ্ছি, আমি কি নিশ্চিত যে আমি কী করছি তা আমি কি নিশ্চিত? আমি কি নিশ্চিত যে আমি টাইপ করেছি তা কি টাইপ করেছি?" রিটার্ন টিপানোর আগে।
এমএসডাব্লু

1
একটি ওয়ার্কিং সিস্টেমের সাহায্যে আপনি ব্যবহার করতে পারেন find /etc -type d ! -perm 755 -exec ls -ld {} \;এবং find etc -type f ! -perm -644 -exec ls -l {} \;অ-মানক মোডগুলি সহ ডিরেক্টরি এবং ফাইলগুলি সন্ধান করতে পারেন । ডেবিয়ানে এটি মাত্র 2 ডিরেক্টরি এবং 39 ফাইল
ott--

"তবে কীভাবে পরিবর্তনের অনুমতিগুলি সবকিছুকে বিপন্ন করে তুলেছে?" - কিছু ফাইলের জন্য সেই ফাইলগুলি পড়ার দরকার ছিল এখন সেই ফাইলগুলি পড়ার অনুমতি নেই।
ব্যবহারকারী 253751

উত্তর:


15

একটি জিনিস ভুল হয়ে গেছে: sudoসেই আদেশটি ব্যবহার করে । -Rসুইচ বলে chmod, আপনি যদি না জানেন যে কি করছেন (এই আমার ঘটেছে একবার আমি: recursively যে ডিরেক্টরির, যা, যে ক্ষেত্রে, একটি অ-সুপারিশকৃত ব্যবস্থাঃ (বৈধর্ম্য আমরা একে বলতে উচিত) অনুমতি সেট করতে কমান্ডটি জারি করেনি তবে একটি ত্রুটিযুক্ত জিইউআই এটি তৈরি করেছে, এবং আমার সিস্টেমটি ওয়্যার হয়ে গেছে)।

এটি কেবল ফাইল অনুমতি ছিল। তাহলে পুরো সিস্টেমটি পুরোপুরি উড়ে গেছে বলে মনে হচ্ছে কেন?

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

এখন কেন কোনও লগইন পাসওয়ার্ড কাজ করছে না?

যেমন আপনি ইতিমধ্যে উল্লেখ করেছেন, লগইন পাসওয়ার্ডগুলি কোনও ফাইলে সংরক্ষণ করা হয় /etc/passwdএবং কেবলমাত্র রুট (আমি ধরে নিই যে আপনি এটি পরিবর্তন করেননি) এটি পড়তে পারে তবে লগইন প্রম্পট (বা জিইউআই লগইন) একটি অননুমোদিত অ্যাকাউন্ট ব্যবহার করে, সুতরাং এটি পড়তে পারে না ফাইল.

তবে কীভাবে অনুমতি পরিবর্তন করা সমস্ত কিছুকে বিপন্ন করে?

উপরে যেমন বলা হয়েছে, লিনাক্স ফাইল অনুমতিগুলির ক্ষেত্রে খুব সংবেদনশীল। কিছু প্রোগ্রাম এমনকি তাদের কনফিগারেশন ফাইলগুলির অনুমতিও পরীক্ষা করে এবং যদি তাদের প্রত্যাশা না করা হয় তবে তারা এগুলি চালাবে না।

আমি কীভাবে আমার ইত্যাদি ডিরেক্টরিটিকে এর আগের অবস্থায় ফিরিয়ে আনতে পারি?

আপনি যদি আরপিএম-ভিত্তিক ডিস্ট্রো ব্যবহার করেন, rpm --setpermsকমান্ডটি ব্যবহার করে এটি করা যেতে পারে, এটি যন্ত্রণাদায়কভাবে একের পর এক প্যাকেজগুলি ফিরিয়ে আনবে, ডিবিয়ান জাতীয় সিস্টেমটি apt-get --reinstall installআপনার বন্ধু। অন্যান্য সমাধানগুলি উপলভ্য হতে পারে তবে এটির জন্য একটি ওয়ার্কিং সিস্টেমের প্রয়োজন হবে।


5

আসুন দেখুন, আপনি যা করেছেন তা পুরো / ইত্যাদি দির মধ্যে অনুমতি / সেট / পড়ার / লেখার / ফাইলের মালিকের পক্ষে অনুমোদিত / ডায়ার হিসাবে অনুমোদিত, অন্য সবার জন্য অস্বীকৃত। আপনি যদি ফাইলের অনুমতি নিয়ে বিভ্রান্ত হন তবে আপনি উইকিপিডিয়া: ট্র্যাডিশনাল ইউনিক্স অনুমতিতে আরও পড়তে পারেন ।

আপনি আপনার সিস্টেমটিকে ফুটিয়ে তোলার কারণ হ'ল অনেক প্রক্রিয়া তাদের সেটিংসটি আর পড়তে পারে না, অ্যাক্সেস করতে পারে না / ইত্যাদি। পূর্ববর্তী অবস্থায় পুরো / ইত্যাদি দির পুনরুদ্ধার করা সহজ হবে না। কীভাবে এটি করবেন তা আপনার ডিসট্রোর উপর নির্ভর করবে, তবে মূলত এর অর্থ প্রতিটি প্যাকেজ পুনরায় ইনস্টল করা যা কোনও ফাইল / etc এর মধ্যে রয়েছে।

সিস্টেমটি যথাযথভাবে ঠিক করার জন্য দ্রুত ব্যান্ড এইড হিসাবে (উপরে বর্ণিত সমস্ত উপাদান / প্যাকেজগুলির সাথে প্যাকেজ পুনরায় ইনস্টল করা) আপনি করতে পারেন:

    # sudo find /etc -type d -exec chmod 775 '{}' \;
    # sudo find /etc -type f -exec chmod 664 '{}' \;

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

আপনার সিস্টেমটি যতক্ষণ না আপনার আসল অনুমতিগুলি সর্বাধিক কমপক্ষে একটি নিরাপত্তাহীন অবস্থায় পাবে ততক্ষণ পর্যন্ত সচেতন হন।


2
অতিরিক্তভাবে, কিছু প্রোগ্রাম কাজ করবে না; উদাহরণস্বরূপ এসএসএইচ নির্দিষ্ট ফাইলগুলিতে সীমাবদ্ধ অনুমতি প্রয়োজন। /etc/sudoersঅন্য একটি।
মেল বয়েস

1
তবে কিছু ফাইল /etcঅবশ্যই বিশ্বের পাঠযোগ্য হতে হবে না! ব্যাকআপগুলি থেকে পুনরুদ্ধার করুন, এজন্যই আপনার সেগুলি রয়েছে (বা, এ কারণেই লোকেরা আপনাকে ব্যাকআপ তৈরি করার জন্য অনুরোধ করছে)।
ট্রিপলি

0

700 গ্রুপগুলি এবং বিশ্ব ব্যবহারকারীদের জন্য প্রচুর ফাইলে অ্যাক্সেস সরিয়ে ফেলেছে (যেমন ফাইলগুলির এখন rwx------অনুমতি রয়েছে)। উদাহরণস্বরূপ, সমস্ত ব্যবহারকারীর পড়তে সক্ষম হওয়া প্রয়োজন /etc/passwd। আপনার সেটআপের সাহায্যে এখন কেবলমাত্র রুট পড়তে পারে /etc/passwd/etc/অবিশ্বাস্য উপায়ে আপনি ফাইলগুলিতে অনুমতিগুলি ভেঙে দিলে অনেকগুলি জিনিস ভঙ্গ হবে ।

আপনি একটি ওয়ার্কিং সার্ভারের উপর ভিত্তি করে অনুমতিগুলি (আপনি এখনও রুটে স্যুইচ করতে পারেন) ধরে নিয়ে পুনরায় বিল্ড করতে পারেন তবে এটি ত্রুটির প্রবণতা।

আমি /etc/যদি আপনার কাছে থাকে তবে ব্যাকআপ থেকে পুনরুদ্ধার করার পরামর্শ দিই (পুনরুদ্ধারটি অনুমতিগুলি ফিরিয়ে দেয় বা আপনার ব্যাকআপ সমাধান যদি এটি সমর্থন করে তবে কেবল অনুমতিগুলি পুনরুদ্ধার করুন)।

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