এই টার্মিনাল সেশনের জন্য sudo পাসওয়ার্ড প্রবেশ করা হয়েছে কিনা তা কীভাবে পরীক্ষা করবেন?


16

শিরোনামে বলা হয়েছে, আমাকে শেলটিতে এই টার্মিনাল সেশনের জন্য sudo পাসওয়ার্ড প্রবেশ করানো হয়েছে কিনা তা খতিয়ে দেখতে হবে (ওরফে, যদি আমার এখন sudo অধিকার থাকে)।

যদি আমার কাছে এটি থাকে তবে আমি একটি কাজ করতে চাই এবং যদি আমার কাছে এটি না থাকে তবে এটির জন্য এটি আমাকে অনুরোধ করা উচিত নয়, কেবল আমাকে অন্য কাজ করতে দিন।

সুতরাং সিউডো কোডে এটি দেখতে এরকম দেখাচ্ছে:

if (sudo = true)
   echo "i got sudo"
else
   echo "i dont have sudo"
fi

তবে এর জন্য পাওয়া সমস্ত কমান্ডগুলি সর্বদা আমাকে যাচাইয়ের চেষ্টা করার সময় সুডো পাসওয়ার্ডের জন্য অনুরোধ জানায়।

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

আশা করি কেউ আমাকে সাহায্য করতে পারে।

উত্তর:


21

তুমি ব্যবহার করতে পার:

if sudo -n true 2>/dev/null; then 
    echo "I got sudo"
else
    echo "I don't have sudo"
fi

-n(অ-interactive) অপশন প্রতিরোধ sudoএকটি পাসওয়ার্ডের জন্য প্রণোদিত করেন। কমান্ডটি চালানোর জন্য যদি কোনও পাসওয়ার্ডের প্রয়োজন হয় তবে এটি sudoএকটি ত্রুটি বার্তা প্রদর্শন করবে (এতে পুনর্নির্দেশিত /dev/null) এবং প্রস্থান করবে। পাসওয়ার্ডের প্রয়োজন নেই, তাহলে এই অভিব্যক্তি সত্য: sudo -n true 2>/dev/null


4
এটি সত্যই কোনও স্ট্রিং প্রতিধ্বনি করতে এবং এটি অন্য স্ট্রিংয়ের সাথে তুলনা করতে সহায়তা করে না, পরীক্ষার জন্য sudo থেকে প্রস্থান কোডই যথেষ্ট। প্রথম লাইনটি হতে পারেif sudo -n true 2>/dev/null; then
স্টিভেন কে

@ স্টিভেনকাথ এটি একই কাজ করে তবে পরামর্শের জন্য ধন্যবাদ। আপনার পরামর্শটি আরও মার্জিত হওয়ায় আমি আমার উত্তরটির উন্নতি করেছি।
রাদু রেডানু

2
আমি জানি এটি আসকউবুন্টু, তবে এটি ম্যাকোএসএক্স-এ কাজ করে না, সুডো-এন সর্বদা 0 প্রদান করে তাই রিটার্ন কোডটি পরীক্ষা করা ব্যর্থ হয়। আমি এটি এখানে বলছি কারণ আমি এটি অনুসন্ধান করেছি এবং এই পৃষ্ঠাটি গুগলে আসে।
23

1
এটি একটি খারাপ ধারণা কারণ এটি mail_badpasssuoers এ সক্ষম থাকলে প্রতিবার পাসওয়ার্ডের প্রয়োজন হলে রুটে মেইল ​​প্রেরণ করবে ।
nyuszika7h
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.