কোনও ইউনিক্স ব্যবহারকারী অ্যাকাউন্ট লক করা আছে এমন সমস্ত উপায়ে কীভাবে সন্ধান করবেন


12

আমি মাঝেমধ্যে নিজেকে এমন পরিস্থিতিতে দেখতে পাই যেখানে কোনও স্নাতক সিস্টেমে একটি অ্যাকাউন্ট থাকে যা লক হয়ে যায়। সমস্যাটি হ'ল বিভিন্ন ধরণের উপায় রয়েছে যার মাধ্যমে কোনও অ্যাকাউন্ট লক আউট করা যায়, যার প্রতিটি আনলক হওয়ার নিজস্ব পদ্ধতি রয়েছে।

এটি এমন নয় যে অ্যাকাউন্টটি অপ্রত্যাশিতভাবে, কেবল অপ্রত্যাশিতভাবে লক করা হচ্ছে, তবে পুনরায় সেট করার জন্য সঠিক লকটি পাওয়া কঠিন।

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

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

উত্তর:


13

আপনি passwdকিছু তথ্য সংগ্রহ করতে ব্যবহার করতে পারেন যেমন কোনও অ্যাকাউন্ট লক করা থাকলে

passwd -S user
user LK 2012-11-06 0 99999 7 -1 (Password locked.) (CentOS)
user L 01/22/2013 0 99999 7 -1 (Ubuntu)

chageউপযোগ একটি অনুত্তীর্ণ পাসওয়ার্ড একটি অ্যাকাউন্ট যেমন বিভিন্ন টাইমার সম্পর্কে তথ্য প্রদান করবে

chage -l user
Last password change                                    : Nov 12, 2012
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7

একটি মেয়াদ উত্তীর্ণ পাসওয়ার্ডের জন্য

chage -l user
Last password change                                    : password must be changed
Password expires                                        : password must be changed
Password inactive                                       : password must be changed
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 22
Number of days of warning before password expires       : 33

passwdএবং chageইউটিলিটি এছাড়াও অ্যাকাউন্ট কেশ অনেক তার তালিকা দেখাবে।

getentপরীক্ষার জন্য প্রাসঙ্গিক ডাটাবেস থেকে সরাসরি তথ্য টানতে আপনি ব্যবহার করতে পারেন

getent passwd user
user:x:505:505::/home/passtest:/sbin/nologin  <-- denied login
getent shadow user
user:!!:0:0:22:33:44::   <-- this is locked

7

সাধারণভাবে: না

আইনের উত্তরটি কীভাবে পাসওয়ার্ড বার্ধক্যজনিত সিস্টেমে ক্যোয়ারী করা যায় তার একটি ভাল সংক্ষিপ্তসার, তবে সমস্ত ধরণের জিনিস মিস করে। উদাহরণ স্বরূপ:

  • কেউ ssh এর মাধ্যমে লগ ইন করার চেষ্টা করছেন sshdকনফিগারেশনের নির্দেশনা দ্বারা নিষিদ্ধ হতে পারে ।
  • কোনও সিস্টেম কেবলমাত্র একটি নির্দিষ্ট নেট গ্রুপের সদস্যদের লগইন করার জন্য কনফিগার করা যেতে পারে।
  • স্থানীয় PAMকনফিগারেশনে লগ ইন করার জন্য সুস্পষ্ট গোষ্ঠী সদস্যতার প্রয়োজন হতে পারে, বা কেবলমাত্র ব্যবহারকারীদের একটি নির্দিষ্ট তালিকাকে অনুমতি দেওয়া যেতে পারে।
  • কোনও লক করা অ্যাকাউন্টের মতো দেখতে হোম ডিরেক্টরি অ্যাক্সেসের সমস্যা হতে পারে।
  • কেউ তৈরি করেছেন /etc/nologin, যা কিছু অ্যাপ্লিকেশনের জন্য (যেমন, ssh) সমস্ত ব্যবহারকারীকে লক আউট করে।

অন্য কথায়, কোনও অ্যাকাউন্ট লক আউট হওয়ার জন্য অনেকগুলি উপায় রয়েছে যা passwdফাইলটির সাথে কোনও সম্পর্কযুক্ত নয়। আপনার সেরা বাজি পরীক্ষা করা /var/log/secureবা বিতরণ-উপযুক্ত স্থানীয় অ্যানালগ।


জিনিসগুলি "ভাঙা" ছিল না এবং ব্যবহারকারী এর আগে লগ ইন করতে পেরেছিল তা ধরে নেওয়ার জন্য আমি আমার প্রশ্নটির লক্ষ্য রেখেছিলাম। এটি হ'ল যে কোনও সিস্টেম সঠিকভাবে কাজ করে অ্যাকাউন্টটি লক আউট করে। এগুলি ভাল পয়েন্ট, তবে আমি প্রশ্নটি আরও স্পষ্ট করে আপডেট করব।
wfaulk

1

পূর্বোক্ত ছাড়াও, passwd chageএবং getentএছাড়াও আছেpam_tally2

যদি ব্যর্থ লগইন চেষ্টার সংখ্যা অনুমোদিত সীমা (যা /etc/pam.d/password-auth এ সেট করা হয়) এর উপরে থাকে তবে pam_tally2 --user=foo --resetতারা আবার লগইন করার আগে আপনাকে করতে হবে ।


0

নিম্নলিখিত স্ক্রিপ্টটি আপনাকে সমস্ত ব্যবহারকারীর এবং তাদের স্থিতির সংক্ষিপ্ত বিবরণ দেবে (লকড আছে কিনা)

cat /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }'

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