সুডো ব্যবহারকারীর প্রতিস্থাপনের জন্য লক্ষ্য ব্যবহারকারীকে সুডু হতে হবে


1

আমি ভিন্ন ব্যবহারকারী হিসাবে একটি স্ক্রিপ্ট কার্যকর করার চেষ্টা করছি (বলুন, মার্ভিন ):

$ sudo -u marvin scriptname

একটি মেশিনে (উবুন্টু 14.04), কমান্ডটি কাজ করে এবং স্ক্রিপ্টটি সফলভাবে সম্পাদিত হয়।

অন্য একটি মেশিনে (কুবুন্টু 16.04), একই কমান্ড চালানো ত্রুটি ছুঁড়ে দেয়

marvin is not in the sudoers file.  This incident will be reported.

মারভিন কোনও মেশিনে sudoers তালিকায় নেই। এটি কোনও ব্যাপার নয়, যেহেতু স্ক্রিপ্টটিতে মৃত্যুর জন্য সুডোর অধিকারের প্রয়োজন হয় না। আমি মার্ভিন চরিত্রে অভিনয় করতে সুডো ব্যবহার করছি , তবে দুটি মেশিনেই আমার সুডোর অধিকার রয়েছে। মারভিন নিজেই একটি সুডো অ্যাকশন সম্পাদনের চেষ্টা করছেন না।

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

সম্পাদনা : /etc/sudoersদুটি মেশিনের ফাইলগুলি কার্যত অভিন্ন; প্রাসঙ্গিক অংশ

root    ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
%sudo   ALL=(ALL:ALL) ALL

কোনও নিয়মিত ব্যবহারকারীর কথাও উল্লেখ করবেন না, তবে আমি ( বোরিয়া ) প্রত্যেকটিতে সুডো গ্রুপের সদস্য । উভয়ই /etc/sudoers.d/মন্তব্য করা থেকে আমদানি লাইন আছে এবং যে ডিরেক্টরি যাইহোক, উভয় মেশিনে README ব্যতীত ডিরেক্টরিটি খালি।

উত্তর:


2

সুডো সহ যে কোনও ব্যবহারকারী 'রুনাস' করতে পারেন তা /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 ফাইলের সাথে (ডিফ ব্যবহার করে) একই কাজ করুন।


দুর্দান্ত ধারণা, ধন্যবাদ! যদিও আমি ডাবল-চেক করেছি এবং আমার (প্রধান ব্যবহারকারী হিসাবে) উভয় মেশিনে ঠিক একই / ইত্যাদি / সুডোর স্ট্যাটাস রয়েছে। আমি আরও তথ্য দিয়ে আমার প্রশ্ন আপডেট করেছি।
বোরিয়া দেইটজ

idআকর্ষণীয় কিছু আপ আপ। উবুন্টু 14.04 মেশিন অন, Marvin করেছে uid=999, যা নির্দেশ করে তার একাউন্ট একটি সিস্টেম ব্যবহারকারী হিসাবে নির্মিত হয়েছিল। কুবুন্টু 16.04 মেশিনে তার uid=1001একটি সাধারণ ব্যবহারকারীর অ্যাকাউন্ট রয়েছে। এই অ্যাকাউন্টের পার্থক্য কি?
বোরিয়া দেইটজ

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

passwd --statusদেখিয়েছেন Marvin ছিল NPএক এবং স্থিতি Lঅন্যদিকে। আমি পরিবর্তন Lকরতে NP, যাতে উভয় মেলে, কিন্তু যে একটি পার্থক্য করতে হয়নি। আমি সুডোর ফাইলগুলি (# 7) স্যুইচ করি নি, তবে আমি diffসেগুলি করেছি এবং সেগুলি হুবহু একই ফাইল হ'ল কুবুন্টু সিস্টেম /snap/binডিফল্টরূপে যুক্ত হয়েছে secure_path। তা ছাড়া দুটি মেশিনের মধ্যে কোনও তফাত নেই।
বোরিয়া দেইটস

সমস্ত ডিফল্ট ব্যবহার করে 16.04 মেশিনে নিক্ষেপকারী অ্যাকাউন্ট যুক্ত করার চেষ্টা করুন: 'সুডো ইউরেডড টেম্পেস্টুউসার'। আপনি যদি সেই অ্যাকাউন্টের সাথে 'sudo -u টেম্পেস্টিউজার স্ক্রিপ্টনাম' করতে পারেন কিনা দেখুন। এটি কমপক্ষে আপনাকে জানাবে যে এটি কোনও সিস্টেম কনফিগারেশন সমস্যা বা কোনও মার্ভিন কনফিগার সমস্যা issue
আর্গনৌটস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.