ব্যবহারকারীর ইনপুট প্রয়োজন ছাড়াই কোনও ব্যবহারকারীর সুডো সুবিধা রয়েছে কিনা তা পরীক্ষা করুন


12

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

আমি অবশ্যই পরীক্ষা করতে পারি যে ব্যবহারকারী নির্দিষ্ট গোষ্ঠীর অংশ কিনা, তবে তবে এটি রিমোট হোস্ট কনফিগারেশনে অজ্ঞানীয় হবে না, তাই আমি আশা করছিলাম যে এমন একটি পদ্ধতি রয়েছে যা যাচাই করতে পারে যা ব্যবহারকারীর গ্রুপগুলি ধরে নেওয়ার প্রয়োজন নেই, পাশাপাশি ব্যবহারকারী ইনপুট প্রয়োজন নেই?

ধন্যবাদ!

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


ব্যবহারকারীর সুডো ব্যবহারের সম্ভাবনা রয়েছে কিনা, বা তিনি যদি সুডোর মাধ্যমে শেল স্ক্রিপ্টটি চালাচ্ছেন তবে আপনার কি পরীক্ষা করা দরকার?
নিকো এসপি

তার সম্ভাবনা আছে কি না। স্থানীয় স্ক্রিপ্টের পরে সুডো পাসওয়ার্ড প্রবেশ করানো দরকার, তাই আমি কেবল তাড়াতাড়ি পরীক্ষা করতে চাই যে দূরবর্তী হোস্টের ব্যবহারকারী এমনকি একটি sudoer is
ড্যানএইচ

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

1
sudo -lআমাকে আমার পাসওয়ার্ডের জন্য অনুরোধ জানায়।
ThatGraemeGuy

1
Tty এর উপর ভিত্তি করে সুডো ক্যাশে তাই কোনও নতুন সেশন যদি আপনাকে একই tty দেয় তবে আপনাকে অনুরোধ করা হবে না। প্রথমে কার্যকর করার চেষ্টা করুন sudo -k
মার্ক ওয়াগনার

উত্তর:


13

আমি ভয় করি কেবলমাত্র আপনি যা পরীক্ষা করতে পারবেন তা হল যদি ব্যবহারকারীর পাসওয়ার্ড ছাড়াই সুডো সুবিধা থাকে ।

এক্সিকিউট

sudo -n true

যদি $? 0, ব্যবহারকারীর পাসওয়ার্ড ছাড়াই সুডো অ্যাক্সেস আছে, যদি $? 1 টি, ব্যবহারকারীর একটি পাসওয়ার্ড প্রয়োজন needs

আপনার যদি কোনও নির্দিষ্ট প্রোগ্রামের জন্য যাচাইকরণের প্রয়োজন trueহয় তবে আপনার প্রোগ্রামের সাথে এমন পরিবর্তন করুন, যাতে প্রোগ্রামটি কিছু করে না, যেমনchmod --help


1
নোট যে এই প্রাথমিক সনাক্ত সাহায্য না করেন তবে কমান্ড Xহল sudoসক্ষম একটি পাসওয়ার্ড না লিখে এবং ঘটনাক্রমে এটা চলমান ছাড়া
ব্যবহার করে দেখুন-ক্যাচ-পরিশেষে

3

"রুট" এর মতো সুডো অ্যাক্সেস সহ আপনার যদি এক ব্যবহারকারী থাকে তবে আপনি অন্যান্য লগইনগুলি পরীক্ষা করতে এটি ব্যবহার করতে পারেন। অ্যাক্সেস সহ ব্যবহারকারী হিসাবে:

sudo -n -l -U foo 2> & 1 | egrep -c -i "sudo চালানোর অনুমতি নেই | অজানা ব্যবহারকারী"

যদি এটি শূন্য ফিরে আসে, "foo" এর অ্যাক্সেস রয়েছে। অন্যথায় এটিতে সুডোর অ্যাক্সেস নেই।


3
কেবলমাত্র sudo -n -l cmdএবং আপনাকে বলা হবে যদি বর্তমান ব্যবহারকারীর সেন্টিমিডিতে সুডো অ্যাক্সেস রয়েছে। আপনি যদি ফলাফল পরীক্ষা করতে চান।
ফিলিপ এ।

1

sudo -l

এটি আপনার পছন্দ / প্রয়োজনের ছদ্মবেশগুলি আছে কিনা তা সিদ্ধান্ত নেওয়ার পক্ষে আপনার যথেষ্ট পরিমাণে উচিত।


1
এটি এখনও আমার সিস্টেমে একটি পাসওয়ার্ড চেয়েছে (উবুন্টু 16.04)।
মারিও ভিলাস

1

আমি জানি যে এটি একটি অতি পুরানো প্রশ্ন, তবে আমি -n(অ-ইন্টারেক্টিভ) পতাকা এবং -v/ এর সাথে ভাগ্য পেয়েছি -l। তবে, আপনাকে আউটপুটটি পরীক্ষা করতে হবে:

$ sudo -vn && sudo -ln  #User with cached credentials
User adminuser may run the following commands on computername:
    (ALL) ALL
$ sudo -vn && sudo -ln  #User who _can_ sudo but isn't cached
sudo: a password is required
$ sudo -vn && sudo -ln  #User who can't at all
Sorry, user nonadmin may not run sudo on computername.

কিছু আউটপুট-পুনর্নির্দেশ এবং গ্রেপিং আপনাকে সেখানে পাবেন, সম্ভবত:

if (sudo -vn && sudo -ln) 2>&1 | grep -v 'may not' > /dev/null; then
  #they're cool
  exit 0 #Or, whatever
fi
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.