হ্যাঁ হ্যাঁ, মেয়াদউত্তীর্ণ পাসওয়ার্ড এবং এসএসএইচ কী ভিত্তিক লগইন Use


12

একটি এসইএলএস 11 মেশিন রয়েছে। ব্যবহারকারীরা এসএসএইচ এবং পাব্বির মাধ্যমে লগ ইন করেন (মিশ্রিত, কিছু ব্যবহারকারী পাসওয়ার্ড ব্যবহার করেন, কেউ কেউ ssh কী ব্যবহার করেন)

Sshd_config এর রয়েছে:

UsePAM yes
PasswordAuthentication yes
PubkeyAuthentication yes

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

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

আপডেট # 1: সমাধানটি হতে পারে না: "ইউজপ্যাম না"

SERVER:~ # cat /etc/pam.d/sshd 
#%PAM-1.0
auth        requisite   pam_nologin.so
auth        include     common-auth
account     requisite   pam_nologin.so
account     include     common-account
password    include     common-password
session     required    pam_loginuid.so
session     include     common-session
SERVER:~ # 

আপডেট # 2: সমাধানটি হতে পারে না: ব্যবহারকারীদের পাসওয়ার্ডটি কখনই শেষ হবে না সেট করে

আপডেট # 3:

SERVER:/etc/pam.d # cat common-account
#%PAM-1.0
...
account required    pam_unix2.so    
account required    pam_tally.so
SERVER:/etc/pam.d # 

আপনি সরিয়ে এটির সাধা করতে সক্ষম হতে পারেন pam_unix.soথেকে sessionবিভাগে /etc/pam.d/sshd(এবং সঙ্গে এটি প্রতিস্থাপন pam_lastlog.soযদি এটা ওখানে নেই আমি নিশ্চিত নই পারেন। pam_unix.so/sessionএই বা করছেন না এক, কিন্তু এটা সঠিক জায়গায় মত মতানুযায়ী।
প্যাট্রিক

1
কখনই মেয়াদ শেষ হয়ে যাবে না এর জন্য ব্যবহারকারীর অ্যাকাউন্টটি সেট করুন :)
রাজা

@ রাজা: ধন্যবাদ :) দুর্দান্ত ধারণা, তবে সমাধান হতে পারে না :(
দীক্ষাগত

এটি চেষ্টা করুন ForcedPasswdChange Noএসএসএইচ 1
রাজা

1
আমি বুঝতে পারি যে ForcedPasswdChange Noমেয়াদ শেষ হওয়ার পরে কাজ করবে না। আপনি এমন একটি সমাধান খুঁজছেন যা মেয়াদোত্তীর্ণ ব্যবহারকারীকে লগইন করতে দেবে
রাজা

উত্তর:


10

মেয়াদোত্তীর্ণ পাসওয়ার্ড প্রম্পটের জন্য ক্রিয়াকলাপের ক্রমটি নিম্নরূপ:

  • এসএসএইচ পিএএম accountস্টেজ চালায় , যা যাচাই করে যে অ্যাকাউন্টটি বিদ্যমান এবং বৈধ। accountপর্যায় নোটিশ পাসওয়ার্ডের মেয়াদ শেষ হয়েছে, এবং দেয়, SSH জানেন।
  • এসএসএইচ কী-ভিত্তিক প্রমাণীকরণ সম্পাদন করে। এটির জন্য এটি প্যামের দরকার নেই, সুতরাং এটি authমঞ্চটি চালায় না । এটি তখন এসএসএইচ লগইন সেশন সেট আপ করে এবং পিএএম sessionস্টেজ চালায় ।
  • এর পরে, এসএসএইচ স্মরণ করে যে পিএএম এটি বলেছিল যে পাসওয়ার্ডটির মেয়াদ শেষ হয়ে গেছে, একটি সতর্কতা বার্তা প্রিন্ট করে এবং ব্যবহারকারীকে পাসওয়ার্ড পরিবর্তন করতে পামকে বলে। এসএসএইচ তখন সংযোগ বিচ্ছিন্ন করে।

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

আপনার বর্তমান pam.d/sshdফাইলটিতে একটি account include common-accountপ্রবেশ রয়েছে। আমি অনুমান করি যে একটি common-accountফাইল আছে যার সাথে একটি উল্লেখ রয়েছে pam_unix.so। এটি লাইনটি একটি মেয়াদোত্তীর্ণ পাসওয়ার্ড পরীক্ষা করে।

আপনি সম্ভবত common-accountফাইলটি নিজেই স্পর্শ করতে চান না , কারণ এটি অন্যান্য লগইন পদ্ধতির জন্য ব্যবহৃত হয়। পরিবর্তে, আপনি includeআপনার pam.d/sshdফাইল থেকে মুছে ফেলতে চান । অন্যান্য ফাংশন থাকে তাহলে common-accountব্যতীত pam_unix.so, আপনি সম্ভবত তাদের মধ্যে সরাসরি লাগাতে চান pam.d/sshd

অবশেষে, মনে রাখবেন যে এটি আপনার সিস্টেমের সুরক্ষার জন্য একটি পরিবর্তন এবং আপনি ভাল পরামর্শ দেওয়ার জন্য আমাকে অন্ধভাবে বিশ্বাস করবেন না। আপনি যদি অপরিচিত থাকেন তবে প্যাম কীভাবে কাজ করে তা পড়ুন। কিছু শুরু স্থানে হতে পারে man 7 PAM, man 5 pam.confএবং man 8 pam_unix


ক্রমের ক্রমটির সুন্দর ব্যাখ্যা, ধন্যবাদ।
এম_ডিকে

3

একটি বিকল্প (ফেব্রুয়ারী-2016 প্রায়) নামক no_pass_expiry (pam_unix.so যোগ করা হয়েছিল সোর্স কোড পরিবর্তন এখানে বা man পৃষ্ঠা এখানে )। মূলত এটি পাম_উনিক্সকে একটি মেয়াদোত্তীর্ণ পাসওয়ার্ড উপেক্ষা করতে বলে যদি pam_unix ব্যতীত অন্য কোনও কিছু লেখার জন্য ব্যবহৃত হয়, যেমন sshd লেখক সম্পাদন করে।

ফলস্বরূপ, যদি আপনার কাছে পাম_উনিক্স.র সংস্করণ থাকে তবে সেই বিকল্পটি রয়েছে, আপনার পিএএম কনফিগার করতে সক্ষম হবে:

  1. তবুও সতর্ক করুন তবে কোনও এসএসএইচ কী এসএসের মাধ্যমে প্রমাণীকরণের জন্য ব্যবহার করা হলে মেয়াদ উত্তীর্ণ পাসওয়ার্ডে পরিবর্তনের প্রয়োজন হবে না
  2. Pam_unix.so এর মাধ্যমে লগইন / পাসওয়ার্ড এসএসএসের মাধ্যমে প্রমাণীকরণ করতে ব্যবহৃত হলে একটি মেয়াদোত্তীর্ণ পাসওয়ার্ডের একটি পাসওয়ার্ড পরিবর্তনের প্রয়োজন Requ
  3. অন্য কোনও লেখার ক্রমকে প্রভাবিত করবেন না (যেমন লগইন পরিষেবার মাধ্যমে)।

উদাহরণস্বরূপ, আমি /etc/pam.d/sshd আপডেট করে এবং অ্যাকাউন্ট এবং পাসওয়ার্ড উভয় প্রকারের মধ্যে pam_unix.so no_pass_expiry যুক্ত করে উপরের কাজ করার জন্য একটি RHEL 7 সার্ভারটি কনফিগার করেছি

account    required    pam_nologin.so
account    sufficient  pam_unix.so no_pass_expiry
account    include     password-auth
password   sufficient  pam_unix.so no_pass_expiry
password   include     password-auth

1
শুধু এটি চেষ্টা করে দেখুন এটি কার্যকর হয়। আপনার পিএএম এই বিকল্পটিকে সমর্থন করে কিনা "নো_পাস_একপিপিরিয়া" অনুসন্ধান করে "ম্যান 8 পাম_উনিক্স" ম্যান পেজের ভিতরে না তা পরীক্ষা করে দেখতে পারেন।
টমোফুমি

2016 সালের কোড পরিবর্তন এখনও উবুন্টুতে উপস্থিত নেই 18.04 ... :(
কলিনম

0
  • আপনি সম্মতিজনিত কারণে আপনার পিএএম বা sshd_config পরিবর্তন করতে চাইবেন না।
  • আপনি হয়ত sshd_config- তে পাসওয়ার্ডঅথেন্টিকেশন নং ব্যবহার করছেন
  • আপনার এলোমেলো পাসওয়ার্ড থাকতে পারে।
  • আপনি এমনকি সিআইএস সম্মতি বাস্তবায়ন করতে পারে।
  • তবুও আপনার ব্যবহারকারীরা প্রম্পট পাবেন

তারপরে রুটটি পাসওয়ার্ড পরিবর্তিত তারিখটি টুইঙ্ক করতে পারে:

for user in `grep ":x:[0-9]\{4\}" /etc/passwd|cut -d: -f1`; do chage -d today $user; done
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.