একটি লিনাক্স বাক্সে, আমি কীভাবে সমস্ত ব্যবহারকারীর তালিকাভুক্ত করব যার কাছে রুট প্রাইভেলিজ রয়েছে (এবং আরও ভাল, সাধারণভাবে সমস্ত ব্যবহারকারীদেরও যদি তাদের মূল হয় বা না থাকে)?
একটি লিনাক্স বাক্সে, আমি কীভাবে সমস্ত ব্যবহারকারীর তালিকাভুক্ত করব যার কাছে রুট প্রাইভেলিজ রয়েছে (এবং আরও ভাল, সাধারণভাবে সমস্ত ব্যবহারকারীদেরও যদি তাদের মূল হয় বা না থাকে)?
উত্তর:
রুট পাসওয়ার্ড পরিবর্তন করতে ভুলবেন না যদি কোনও ব্যবহারকারীর রুট ছাড়াও ইউআইডি 0 থাকে তবে সেগুলি করা উচিত নয়। খারাপ ধারণা। যাচাই করতে:
grep 'x:0:' /etc/passwd
আবার, আপনার এটি করা উচিত নয় তবে ব্যবহারকারীটি মূল গোষ্ঠীর সদস্য কিনা তা পরীক্ষা করে দেখার জন্য:
grep root /etc/group
রুট হিসাবে কমান্ড কার্যকর করতে পারে কিনা তা দেখতে, sudoers চেক করুন:
cat /etc/sudoers
SID বিট যাচাই করার জন্য, যা প্রোগ্রামগুলি রুট সুবিধাগুলি সহ কার্যকর করতে দেয়:
find / -perm -04000
grep '[^:]*:[^:]*:0:' /etc/passwd। SID- র জন্য পরীক্ষার জন্য বিশেষত +1।
ইউআইডি কে আছে তা দেখার জন্য:
getent passwd 0
দেখার জন্য দলে দলে কে root, wheel admএবং admin:
getent group root wheel adm admin
সমস্ত ব্যবহারকারী এবং তারা যে গ্রুপের সদস্য সেগুলি তালিকাভুক্ত করতে:
getent passwd | cut -d : -f 1 | xargs groups
getent passwdপরিবর্তে এটি ব্যবহার করে, এটি আসলে সঠিক। শুধু / ইত্যাদি / sudoers চেক করতে ভুলবেন না।
খাঁটি রুট ব্যবহারকারী আইডি "0"।
সিস্টেমের সমস্ত ব্যবহারকারী / etc / passwd ফাইলে আছেন:
less /etc/passwd
যারা রুট তাদের ব্যবহারকারী আইডি হিসাবে "0" থাকে যা তৃতীয় কলাম। গ্রুপ হিসাবে "০" যাদের (চতুর্থ কলাম) রয়েছে তাদেরও কিছু মূল সুযোগ থাকতে পারে।
এরপরে, আপনি গ্রুপগুলি দেখতে চাইবেন এবং দেখুন যে "মূল" বা "চাকা" বা "প্রশাসক" গোষ্ঠীর অতিরিক্ত সদস্য কে:
less /etc/group
এই গ্রুপগুলিতে তালিকাভুক্ত ব্যবহারকারীদের কিছু মূল অধিকার থাকতে পারে, বিশেষত "sudo" কমান্ডের মাধ্যমে।
আপনি যে চূড়ান্ত জিনিসটি যাচাই করতে চান তা হ'ল "sudo" কনফিগারেশন এবং দেখুন এই কমান্ডটি চালানোর অনুমোদন কার হিসাবে তালিকাবদ্ধ রয়েছে। এই ফাইলটি নিজেই ডকুমেন্টেড তাই আমি এটিকে এখানে পুনরুত্পাদন করব না:
less /etc/sudoers
কে রুট অ্যাক্সেস পেতে পারে তার প্রধান ক্ষেত্রগুলি জুড়ে।
consolehelperএবং PackageKit।)
getent passwdডেটাবেস যেখানে নির্ধারিত তা নির্বিশেষে পাসওয়ার্ড ফরম্যাটে সমস্ত সিস্টেম ব্যবহারকারীকে (মূল সহ) তালিকাভুক্ত করা উচিত।
সমস্ত ব্যবহারকারী মুদ্রণ করতে
perl -n -e '@user = split /:/ ; print "@user[0]\n";' < /etc/passwd
কেবল ইউআইডি 0 থাকা এই ব্যবহারকারীদের মুদ্রণ করতে অন্যরা যেমন বলেছে, অন্তর্ভুক্ত রুট সুবিধাসহ ব্যবহারকারীরা:
perl -n -e '@user = split /:/ ; print "@user[0]\n" if @user[2] == "0";' < /etc/passwd
getent passwdপরিবর্তে ব্যবহার করুন। আপনার প্রথম "সমস্ত ব্যবহারকারী মুদ্রণ করুন" উদাহরণের জন্য, বরং এটি ব্যবহার করে দেখুন:getent passwd | perl -naF: -e 'print "$F[0]\n"'
সমস্ত ব্যবহারকারীর তাত্ক্ষণিক তালিকার জন্য, passwdস্পেসের পরে কমান্ডটি টাইপ করার পরে দু'বার ট্যাব হিট করার চেষ্টা করুন (স্বয়ংক্রিয়ভাবে সম্পূর্ণ করতে) । এটি suকমান্ডের সাথেও কাজ করে।
একটি রুট-অধিকারযুক্ত ব্যবহারকারী হিসাবে করা আবশ্যক।