sudo ত্রুটি, 0777 মোড, 0440 হওয়া উচিত


26

আমি সুডোর ত্রুটি পাচ্ছি, আমি কীভাবে এই ত্রুটিটি ঠিক করব?

sudo: /etc/sudoers is mode 0777, should be 0440
sudo: no valid sudoers sources found, quitting 

ব্যবহারকারীরা যেমন উল্লেখ করেছেন, "chmod 0440 / etc / sudoers" ব্যবহার করে যখন sudoers.d / README ফাইলটিতে ভুল chmod কাজ করে না।
Kentfx

আপনি কি পরামর্শ দিচ্ছেন যে সমস্যাটি যখন অনুমতিগুলি চালু থাকে /etc/sudoers.d/READMEতখন ত্রুটিটি এখনও বলতে পারে sudo: /etc/sudoers is mode 0777, should be 0440?
এলিয়াহ কাগন

উত্তর:


26

প্রথম বিকল্প

এই পোস্ট অনুসরণ :

  1. পিসি রিবুট করুন
  2. GRUB বুট নির্বাচনের স্ক্রিনটি প্রদর্শিত হলে পুনরুদ্ধার মোডটি নির্বাচন করুন। (যদি এটি সামনে না আসে, Shiftআপনি GRUB লোডার নীচে নীচে দেখলে কী টিপুন )।
  3. একটি কালো টার্মিনাল আসা উচিত, এই মুহুর্তে আপনি এই আদেশটি চালাতে পারেন (আপনার মূল অধিকার থাকা উচিত):

    chmod 0440 /etc/sudoers
    

বিকল্পভাবে

আপনাকে উবুন্টুকে একটি লাইভসিডি তে লাগাতে হবে, লাইভসিডি-তে বুট করতে হবে, হার্ড ও ড্রাইভে আপনার উবুন্টু পার্টিশনটি মাউন্ট করতে হবে (নটিলাসের মতো একটি ফাইল ব্রাউজার খুলুন, এবং আপনার উবুন্টু পার্টিশনটি ক্লিক করুন; বা স্থানগুলি -> "এক্সএক্সজিবি পার্টিশন / আপনার উবুন্টু পার্টিশন) ক্লিক করুন ")।

তারপরে, লাইভসিডি সেশনের মধ্যে একটি টার্মিনাল খুলুন এবং এই দুটি কমান্ড টাইপ করুন:

cd /media/<name of permanent ubuntu partition>/etc
sudo chmod 0440 sudoers

অতিরিক্ত সমস্যা

যদি কোনও ত্রুটি থাকে (নীচে পোস্ট করা হয়েছে), ত্রুটি প্রম্পটটি অনুসরণ করুন এবং উপরের দুটি পদক্ষেপের একটি ব্যবহার করে প্রতিটি ফাইল যথাযথভাবে সামঞ্জস্য করুন:

sudo apt-get update sudo: /etc/sudoers.d/README মোড 0777 হওয়া উচিত, নন-মালিকের দ্বারা (040777) sudo: / var / lib / sudo লিখতে হবে, এর জন্য মোড 0700 [sudo] পাসওয়ার্ড হওয়া উচিত

এর মাধ্যমে অনুসরণ করে ঠিক করুন:

chmod 0440 /etc/sudoers.d/README
chmod 0700 /var/lib/sudo

এই দুটি কমান্ডই উপরে বর্ণিত পদক্ষেপগুলির সাথে যথাযথভাবে ব্যবহার করা উচিত। তারা সেই ফাইলের সাথে যুক্ত ফাইলের অনুমতিগুলি পরিবর্তন করবে। 0440 মালিককে (রুট) এবং গ্রুপটি পড়ার অনুমতি দেবে এবং 0700 মালিককে (মূল) পড়বে, পড়বে, লিখবে এবং অনুমতিগুলি কার্যকর করবে।


আমি sudo কমান্ড ব্যবহার করতে পারি তবে সীমিত। sudo apt-get update sudo: /etc/sudoers.d/README is mode 0777, should be 0440 sudo: /var/lib/sudo writable by non-owner (040777), should be mode 0700 [sudo] password for
ব্যবহারকারী 20698

@ অ্যালেক্স: গ্রুব উত্তরাধিকারের জন্য ইস্কের অধিকার আছে? GRUB2 এর জন্য শিফট টিপতে হবে।
লেকেনস্টেইন

@ ইউজার 20698: আপনার প্রথমটির দরকার নেই sudo, দ্বিতীয়টি কোনও লাইভ সিডি থেকে করা উচিত।
লেকেনস্টেইন

Sudoers 0777 হয় কি chmod 0440 /etc/sudoerssudoers প্রত্যেকের দ্বারা লিখিত হয় হিসাবে ব্যবহারকারী sudo ছাড়া চালাতে সক্ষম হবে না ?
সেপ্পো এরভিয়েল

2
@ শেপ্পো: না, কেবলমাত্র কোনও ফাইলের মালিকই ফাইলের অনুমতি পরিবর্তন করতে পারেন।
লেকেনস্টেইন

16

sudoএই পরিস্থিতিতে নষ্ট হয়ে গেছে, তবে pkexec(পলিসিকিট-এর কমান্ড-লাইন সীমানা ) এখনও কাজ করে, তাই আপনি এটি একটি একক কমান্ড দিয়ে ঠিক করতে পারেন। কোনও রিবুট করা দরকার।

pkexec chmod 0440 /etc/sudoers

এটি ধরে নেয় পলিসিকিট ইনস্টল করা আছে। যদি এটি কোনও ডেস্কটপ সিস্টেম হয় (GUI সহ সার্ভারের চেয়ে) এটি হয়।


4

পুনরুদ্ধার মোডে বুট করুন, রুট শেলটি চয়ন করুন এবং:

chmod 0440 /etc/sudoers

অথবা আপনি যদি পুনরায় আরম্ভ করতে না চান তবে আপনি এই বিকল্পটি ব্যবহার করতে পারেন:

pkexec chmod 0440 /etc/sudoers
pkexec chmod 0440 /etc/sudoers.d/README

এটি অনুমতি পরিবর্তন করবে। এটি কাজ করে দেখুন।


1
আপনি chmodকিছু ফাইলগুলিতে 440এবং অন্যদের কাছে 0440কেন যুক্ত করছেন ? আপনি কি 0440অভিন্ন ব্যবহার করবেন না ? এবং আপনি /etc/sudoers.d/READMEযখন রাস্তাটি ব্যবহার করেন তখন অনুমতিগুলি কেন পরিবর্তন করছেন pkexec, তবে অন্যথায় নয়? এবং অন্যান্য সম্ভাব্য ফাইলগুলি সম্পর্কে কী /etc/sudoers.d?
এলিয়াহ কাগন

1

এই ত্রুটিগুলি পেতে আপনি কি করেছিলেন?

  • যদি আপনি এটি করেন sudo chmod -R 777 /etc:, এটি মেরামতের জন্য আপনার লাইভ সিডি দরকার need

    1. একটি লাইভ সিডি বুট করুন এবং "এটি চেষ্টা করুন" নির্বাচন করুন
    2. আপনার উবুন্টু পার্টিশনটি মাউন্ট করুন (বা পৃথক পার্টিশন /etcরাখলে পার্টিশনটি ধারণ /etcকরে)। এটি নটিলাস বা স্থান মেনুগুলির মতো কোনও ফাইল ব্রাউজার ব্যবহার করে করা যেতে পারে
    3. অ্যাপ্লিকেশন => আনুষাঙ্গিকগুলি => টার্মিনালে গিয়ে একটি টার্মিনাল খুলুন
    4. আপনার উবুন্টু পার্টিশনের ফোল্ডারটি নির্ধারণ করুন, আপনি মাউন্ট করা পার্টিশনের সামগ্রীগুলি ব্যবহার করে তালিকাভুক্ত করতে পারেন ls -l /media। এটি সম্ভবত নাম দেওয়া হয়েছে ubuntuবা disk। পরবর্তী পদক্ষেপগুলিতে, আমি ধরে নেব ubuntu
    5. টার্মিনালে, ডিফল্টরূপে সীমাবদ্ধ অনুমতি সেট করুন:

      sudo find /media/ubuntu/etc -type f -exec chmod g-wx,o-rwx {} \;
      sudo find /media/ubuntu/etc -type d -exec chmod g-w,o-rwx {} \;
      
    6. এরপরে, ফাইল অনুমতিগুলি পুনরুদ্ধার করার জন্য রেফারেন্স পয়েন্ট হিসাবে লাইভ সিডি ব্যবহার করুন। নীচের কমান্ডটি রেফারেন্স পয়েন্ট হিসাবে লাইভ সিডিতে ফোল্ডারটি /etc/media/ubuntuব্যবহারের জন্য ফাইল অনুমতিগুলিকে পরিবর্তন করবে /etc। এটি কেবলমাত্র ফাইল ( -type f) এবং ডিরেক্টরিগুলিতে ( -type d) একই ফাইল সিস্টেমে ( -xdev) অনুমতি পরিবর্তন করবে । কোনও ত্রুটি ত্রুটিগুলিতে লিখিত হয় ~/errors.logযেমন "ফাইল পাওয়া যায় নি" ইঙ্গিত দেয় যে সিস্টেমে একটি ফাইল ইনস্টল করা আছে, তবে লাইভ সিডিতে পাওয়া যায় না। পদক্ষেপ 5 এর কমান্ডটি এর জন্য সঠিক অনুমতিগুলি নির্ধারণ করা উচিত, তবে সেরা ফলাফলের জন্য আপনি প্যাকেজগুলি আরও ভালভাবে ইনস্টল করতে চান।

      cd /media/ubuntu && sudo find etc -xdev \( -type f -o -type d \) -f -exec chmod --reference=/{} {} \; 2>~/errors.log
      
    7. এখন ~/errors.logকোথাও নিরাপদ (যেমন http://paste.ubuntu.com/ ) আপনি অ্যাপ্লিকেশনগুলিতে কোনও সমস্যা হওয়া উচিত তাই আপনি এই উত্তরের মন্তব্য হিসাবে এটি যুক্ত করতে পারেন।

1

উবুন্টু আপনি প্রথম ধর্মঘট করতে পারেন Ctrl+ + Alt+ + Tযা টার্মিনাল প্রর্দশিত হবে। এরপর আপনি পারে নিচের কমান্ড কপি-পেস্ট করুন Ctrl+ + Cএবং টার্মিনাল পেস্ট Ctrl+ + Shift+ + V

pkexec chmod 0440 /etc/sudoers

0

আমার জন্য, pkexecপরামর্শগুলির জন্য আমাকে আরও একটি পদক্ষেপ যুক্ত করতে হয়েছিল, এই প্রতি আমি ভাগ্যবান যে আমি যখন বোকা ভুল করি তখন 2 টি এসএস সেশন করানো হয়েছিল:

  1. 2 টি টার্মিনাল খুলুন
  2. টার্মিনাল 2 এ, echo $$পিআইডি পেতে চালান
  3. pkttyagent --process PID_FROM_STEP2টার্মিনাল 2 চালান
  4. টার্মিনাল 1 এ, চালান pkexec chmod 0440 /etc/sudoers
  5. আমার ক্ষেত্রেও আমাকে দৌড়াতে হয়েছিল pkexec chown root:root /etc/sudoers
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.