সুডো সহ যে কোনও ব্যবহারকারী 'রুনাস' করতে পারেন তা /etc/sudoersকনফিগার ফাইলে সংজ্ঞায়িত করা হয়েছে । এই ইউটিলিটিটি অত্যন্ত কনফিগারযোগ্য তাই আমি সম্ভবত কিছুটা সহজ করতে পারি। Sudoers র manpage এটা বিস্তারিত জুড়ে।
যখন বলা হয়, sudoকলিং ব্যবহারকারীর জন্য নিয়ম পরীক্ষা করে। আপনার উদাহরণে এর মানে হল যে ব্যবহারকারীর জন্য নিয়ম borea প্রথম মূল্যায়ন করা হয়, যারা না, যদি কোনো, ব্যবহারকারীর জন্য Marvin ।
কলটির ত্রুটি বার্তা অবশ্যই সেই পয়েন্টটি পরিষ্কার করতে সহায়তা করে না।
Sudoers একটি সাধারণ 'পূর্ণ sudo সুবিধার্থে' এন্ট্রি এর মত দেখাচ্ছে:
borea ALL = (ALL) ALL
প্রতিটি আইটেমটির অর্থ কী তা প্রসঙ্গে এটি একই বক্তব্য:
Who: borea
On hosts: ALL
Can run as users: (ALL)
The commands: ALL
আপনার প্রশ্নের প্রসঙ্গে মূল এন্ট্রিটি তৃতীয়। যদি এটি সমস্তটিতে সেট না করা থাকে তবে যদি এটি কোনও ব্যবহারকারী তালিকায় সেট করা থাকে যা এতে মারভিনকে অন্তর্ভুক্ত না করে, কল ব্যর্থ হবে।
ম্যান পৃষ্ঠা থেকে আরও জড়িত উদাহরণ এখানে:
alan ALL = (root, bin : operator, system) ALL
এই সেটিংটি অনুবাদ করে:
ব্যবহারকারী অ্যালান ব্যবহারকারী রুট বা বিন হিসাবে যে কোনও কমান্ড চালাতে পারে operatorচ্ছিকভাবে অপারেটর বা সিস্টেমে গ্রুপটি সেট করে।
সুতরাং দুটি সিস্টেমে আচরণের মধ্যে পার্থক্যটি মার্ভিন অ্যাকাউন্টে নয় বরং পরিবর্তে আপনার অ্যাকাউন্টে আবদ্ধ। কারণ সম্পর্কে আমার সর্বোত্তম অনুমানটি 'রান হিসাবে চালান' সেটিংস, তবে অন্যান্য সেটিংস রয়েছে যা এটি একইরূপে কনফিগার ফাইলগুলিতে, বিশ্বব্যাপী এবং অন্যান্য সূক্ষ্ম উপায়ে (যেমন গ্রুপের সদস্যপদ) আটকাতে পারে।
দেখতে অন্যান্য জিনিস:
আপনার মতামতের ভিত্তিতে, সমস্যাটি ব্যবহারকারী বোরিয়ার জন্য সরাসরি কনফিগার করা sudoers ফাইলের সাথে নয় । সংগ্রহ করার জন্য ডেটা পয়েন্ট এবং চেষ্টা করার জিনিসগুলির লন্ড্রি তালিকা এখানে। ফলাফলগুলি দিয়ে আপনার প্রশ্ন আপডেট করুন (বিশেষত দুটি মেশিনের মধ্যে দেখা যায় কোনও পার্থক্য)।
১. এই কমান্ডটি আপনার 'সুডো' সম্পর্কিত সুবিধাগুলি এবং সীমাবদ্ধতার সংক্ষিপ্তসার করবে, দুটি মেশিনের মধ্যে কোনও পার্থক্য রিপোর্ট হয়েছে কিনা তা পরীক্ষা করে দেখুন:
sudo -l -U borea
২. ব্যবহারকারী মারভিনের জন্য একই পুনরাবৃত্তি করুন । এটির জন্য স্পষ্টতই দরকার নেই যে মারভিনটিsudo -u কাজ করার জন্য sudoers এ থাকা উচিত , তবে এটি একটি ভাল ডেটা পয়েন্ট। এটা সম্ভব যে মারভিন গ্রুপের সদস্যপদ ইত্যাদি দ্বারা কিছু সেটিংস উত্তরাধিকার সূত্রে প্রাপ্ত ited
sudo -l -U marvin
৩. দুটি মেশিনে, কোনও পার্থক্যের জন্য মার্ভিন অ্যাকাউন্টের স্থিতি পরীক্ষা করে দেখুন । fingerডিফল্ট হিসাবে ইনস্টল করা যেতে পারে না; সেক্ষেত্রে sudo apt-get install fingerপ্রথমে ব্যবহার করুন ।
sudo finger -l marvin
sudo passwd --status marvin
id marvin
৪) মার্ভিন অ্যাকাউন্টটি ব্যবহার করে একটি শেল খোলার চেষ্টা করুন । suসুবিধা বাড়ানোর জন্য একটি পৃথক পদ্ধতি ব্যবহার করে:
sudo su marvin
৫. শেল অ্যাক্সেসের জন্য রুট অ্যাকাউন্ট সক্ষম করা আছে বলে ধরে নেওয়া (আমি মনে করি ডিফল্টরূপে উবুন্টু এখনও এটি অক্ষম করে), এটি চেষ্টা করুন:
sudo -s
sudo -u marvin scriptname
/. / ইত্যাদি / sudoers উপর অনুমতি নিশ্চিত করুন:
ls -alt /etc/sudoers
ফলাফলটি শুরু হওয়া উচিত -r--r----- 1 root root ...
যদি এটি না হয়
তবে এটি দিয়ে ঠিক করুন:
sudo chmod 440 /etc/sudoers
sudo chown root:root /etc/sudoers
Things. জিনিসগুলি মেশিনে সঠিকভাবে কাজ করা ছিল যেখানে মেশিন থেকে sudoers ফাইলটি অনুলিপি করার চেষ্টা করুন। এটি করতে খুব সতর্কতা অবলম্বন করুন - একটি নিরাপদ স্থানে মূলগুলি ব্যাকআপ করুন। কোন ফাইলটি কোনটির ট্র্যাক হারানো সহজ হবে ...
৮. শেষ কথা - আপনার একটি বা উভয়ই মেশিনে /etc/sudo.conf ফাইল আছে কিনা তা পরীক্ষা করে দেখুন। যদি হয় তবে উভয় ফাইলের একটি অনুলিপি তৈরি করুন এবং এগুলি একটি একক মেশিনে সরান। চালান
diff sudo.conf.machine1 sudo.conf.machine2
কনফিগারেশন পার্থক্য সন্ধান করতে। সমস্ত ডেল্টা সন্ধান করতে / etc / sudoers ফাইলের সাথে (ডিফ ব্যবহার করে) একই কাজ করুন।