আমি চালানোর চেষ্টা করছিলাম chmod -R 777 ./
তবে টাইপিং শেষ করে আমার সম্পূর্ণ মেশিনে chmod -R 777 /
সেট 777
করলাম। কী ভুল হতে পারে? আমি কীভাবে এটি ঠিক করতে পারি?
আমি চালানোর চেষ্টা করছিলাম chmod -R 777 ./
তবে টাইপিং শেষ করে আমার সম্পূর্ণ মেশিনে chmod -R 777 /
সেট 777
করলাম। কী ভুল হতে পারে? আমি কীভাবে এটি ঠিক করতে পারি?
উত্তর:
সমস্যা? হ্যাঁ, প্রচুর। এটা ঠিক করা যাবে? অবশ্যই। পুনরায় ইনস্টল করার চেয়ে আরও দ্রুত? সম্ভবত না.
আমার প্রস্তাবটি আবার ইনস্টল করা। বিদ্যমান ব্যবস্থার একটি ব্যাকআপ রাখুন, এবং প্যাকেজ তালিকা এবং ফাইল বিষয়বস্তু পুনঃস্থাপন /etc
এবং /var
। এর জন্য /usr/local
, আপনি সম্ভবত ম্যানুয়ালি অনুমতিগুলি পুনরুদ্ধার করতে পারেন। জন্য /home
এবং /srv
, আপনি ব্যাকআপ থেকে অনুমতি পুনঃস্থাপন করতে হবে।
যদি এটি একাধিক স্থানীয় ব্যবহারকারীদের সাথে ব্যবস্থা থাকে তবে মনে রাখবেন যে কয়েকটি ফাইলকে বিশ্ব-পাঠযোগ্য করে তোলা এমন কিছু বিষয় প্রকাশ পেয়েছে যা গোপনীয় ছিল।
আপনি যদি সত্যিই মেরামত করার চেষ্টা করতে চান (ব্যবহারিক পুনরুদ্ধারের রুটের চেয়ে আরও বেশি শিখনের অনুশীলন), প্রথমে কয়েকটি ফাইলের অনুমতি পুনরুদ্ধার করুন। মনে রাখবেন যে বেশিরভাগ ফাইল এখন খুব বেশি খোলার পরেও কয়েকটিতে প্রয়োজনীয় সেট বিড বিট নেই। অন্য যে কোনও কিছুর আগে আপনার নেওয়া উচিত এমন পদক্ষেপগুলি এখানে। মনে রাখবেন যে এটি একটি বিস্তৃত তালিকা নয়, কেবলমাত্র সিস্টেমটিকে সক্রিয়ভাবে কার্যকর করার একটি প্রচেষ্টা।
chmod -R go-w /
chmod 440 /etc/sudoers
chmod 640 /etc/shadow /etc/gshadow
chmod 600 /etc/ssh/*_key /etc/ssh*key # whichever matches
chmod 710 /etc/ssl/private /etc/cups/ssl
chmod 1777 /tmp /var/tmp /var/lock
chmod 4755 /bin/su /usr/bin/passwd /usr/bin/sudo /usr/bin/sudoedit
chmod 2755 /var/mail /var/spool/mail
তারপরে আপনার যে কোনও জায়গায় সমস্ত অনুমতি পুনরুদ্ধার করতে হবে। এর অধীন ফাইলগুলির জন্য /usr
, আপনি আপনার বিতরণের উপর নির্ভর করে নিম্নলিখিত কমান্ডগুলির সাথে প্যাকেজগুলি পুনরায় ইনস্টল করতে পারেন:
apt-get --reinstall install
pacman -S $(pacman -Qq --dbpath /newarch/var/lib/pacman) --root /newarch --dbpath /newarch/var/lib/pacman
, ধরে নিয়ে আপনি কোনও লাইভ সিডিতে আছেন এবং আপনার আর্চ ইনস্টলটি মাউন্ট হয়েছে /newarch
।এর অধীনে থাকা ফাইলগুলির জন্য /etc
এবং /var
এটি কাজ করবে না, তাদের মধ্যে অনেকগুলি যেমন রয়েছে তেমনই রেখে দেওয়া হবে: আপনাকে একটি কার্যকারী ইনস্টলেশনতে অনুমতিগুলি প্রতিলিপি করতে হবে। অধীনে ফাইলের জন্য /srv
এবং /home
, আপনি যাহাই হউক না কেন ব্যাকআপ থেকে পুনঃস্থাপন করতে হবে। আপনি দেখতে পাচ্ছেন, আপনি পাশাপাশি পুনরায় ইনস্টল করতে পারেন।
আপনি প্রথমে এটি লক্ষ্য করতে পারেন না, তবে প্রচুর জিনিস ভুল হতে পারে এবং হতে পারে। মূল সমস্যাটি হ'ল পুরো সিস্টেমের পুরো সুরক্ষা মডেলটি নষ্ট হয়ে গেছে। এটি চামড়াবিহীন শরীর থাকার মতো, বাতাসে সমস্ত অঙ্গ-প্রত্যঙ্গ। এটি সংক্রামিত হতে বাধ্য কারণ এটি এর মতো কাজ করা বোঝায় না। এমনকি যদি এটি কয়েক মিনিটের জন্য কাজ করে বলে মনে হয় তবে আপনার এটি পরিষ্কার করা দরকার।
সর্বোত্তম উপায় হ'ল স্ক্র্যাচ থেকে শুরু করা। এই উপায়ে আপনার ঝুঁকি হ্রাস করে এবং কম সময়ে আপনাকে একটি ক্লিনার ফলাফল দেয়। আপনার যদি সঠিক ব্যাকআপ থাকে তবে এটি খুব বেশি অভিজ্ঞতার চেষ্টা করা উচিত নয়।
আপনি যদি এটি পরিষ্কার করার চেষ্টা করেন তবে প্রাথমিক উপায় হ'ল আপনার ডিস্ট্রোর প্যাকেজ ম্যানেজারকে কনফিগার ফাইলগুলি ওভার রাইটিং সহ সিস্টেমে সমস্ত কিছু পুনরায় ইনস্টল করতে বলা হবে। তারপরে যা যাচাই করা সিস্টেম রয়েছে তা ব্যবহার করুন এবং নিশ্চিত করুন যে এগুলির কোনওটিই সাধারণের বাইরে থাকা ফাইল রয়েছে বলে চিহ্নিত করা হচ্ছে না। এরপরে, ব্যবহারকারীদের হোম ডিরেক্টরিগুলির মতো জিনিসগুলির মাধ্যমে কাজ করুন এবং ম্যাসেজগুলি মেনে নেওয়ার জন্য সবকিছুকে পুনরায় সেট করুন, তারপরে কয়েকটি বিশেষ জিনিসের মাধ্যমে কাজ করুন যাতে বিশেষ অনুমতি থাকতে হবে (যেমন ssh কী ফাইলগুলি)। শেষ অবধি, system 77 everything হিসাবে চিহ্নিত সমস্ত কিছুর জন্য একটি সম্পূর্ণ সিস্টেম সন্ধান করুন এবং তালিকার মধ্য দিয়ে যান (আপনি অন্যান্য পদক্ষেপগুলি ভালভাবে সম্পন্ন করেছেন তবে এটি ছোট হওয়া উচিত) এবং সেগুলি যেভাবে সেভাবে হওয়া উচিত তা নিশ্চিত করে একে একে কাজ করুন।
সমাধান: আমি এটি সেন্টোজে পরীক্ষা করেছি
এই লোকটি আমার কাজ বাঁচিয়েছে! (আপনাকে কোনওভাবে অ্যাক্সেস করতে হবে)
http://www.adminlinux.org/2009/07/how-to-restore-default-system.html
1) ফাইল এবং ডিরেক্টরিগুলিতে uids এবং গিডগুলি পুনরায় সেট করতে:
for u in $(rpm -qa); do rpm --setugids $u; done
2) ফাইল এবং ডিরেক্টরিতে অনুমতি
for p in $(rpm -qa); do rpm --setperms $p; done
তারপরে এই ফাইলগুলিতে ম্যানুয়ালি অনুমতিগুলি পরিবর্তন করুন:
# ll /etc/ssh/
# chmod 600 /etc/ssh/ssh_host_rsa_key
# chmod 600 /etc/ssh/ssh_host_dsa_key
# service sshd restart
কিছু ফাইলের অনুমতি খুব "certainিলে" থাকলে সুরক্ষা-সচেতন কিছু প্রোগ্রাম শুরু হবে না। যেমন @ সিভিং বলেছেন sshd
এটি এর সর্বাধিক সাধারণ typ
যে বিষয়টি ভুল হতে পারে তা হ'ল এখন যে কোনও ব্যবহারকারী আপনার সিস্টেমে যে কোনও ফাইল খুলতে, পড়তে এবং লিখতে পারবেন । এটি খারাপ হওয়ার দুটি কারণ হ'ল: ক) কোনও দূষিত ব্যবহারকারী যদি কোনও শোষণ বা ভুল কনফিগারেশনের মাধ্যমে আপনার সিস্টেমের নিয়ন্ত্রণ অর্জন করে তবে সে এখনই আপনার সিস্টেমে যে কোনও কিছু সংশোধন করতে পারে, এবং খ) আপনি যা চান তা মুছতে পারেন এমনকি যদি আপনি রুট নন, সুতরাং আপনি মূল হিসাবে চালিত না হওয়ার বেশিরভাগ সুরক্ষাকে এড়িয়ে গেছেন।
আপনি যদি অনুমতিগুলির আগে ব্যাক আপ না করেন তবে আপনি কিছুটা পরিস্থিতিতে রয়েছেন। আপনি এমন একটি স্ক্রিপ্ট তৈরি করতে সক্ষম হতে পারেন যা একটি সদ্য ইনস্টল হওয়া সিস্টেম থেকে অনুমতিগুলির একটি তালিকা "এনেছে" এবং তারপরে আপনার সিস্টেমে সমস্ত কিছুতে "প্রয়োগ" করবে। যদিও এ জাতীয় স্ক্রিপ্ট আমার হাতে নেই।
rm -rf /
এখন আপনার সাধারণ ব্যবহারকারীর হিসাবে এটি করেন তবে আপনি আপনার সিস্টেমটিকে একটি থামতে দেবেন।