मैं pam की पासवर्ड आवश्यकताओं को कैसे अक्षम या संशोधित कर सकता हूं?


9

मैं फेडोरा 19 का उपयोग कर रहा हूं। डिफ़ॉल्ट रूप से यह खराब पासवर्ड को निष्क्रिय करने के लिए पैम के साथ सेटअप है, जैसे "पासवर्ड"। यह अच्छा है। इस डिफ़ॉल्ट को बदलने की कोशिश की जा रही है। यह आंतरिक सामानों के परीक्षण के लिए एक बॉक्स है, जो इंटरनेट से जुड़ा नहीं है, न ही कोई मशीन। खराब पासवर्ड परीक्षण प्रक्रिया को सुविधाजनक बनाते हैं। वैकल्पिक रूप से, कैसे आप पासवर्ड आवश्यकताओं को बिल्कुल बदल सकते हैं ??

प्रणाली प्रमाणीकरण

man pam_cracklibअलग पासवर्ड आवश्यकताओं को स्थापित करने के कुछ महान उदाहरण हैं। तो मैं खोलता हूं /etc/pam.d/system-auth, जहां आप लाइनों को देखते हैं:

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
password    requisite     pam_pwquality.so try_first_pass retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    required      pam_deny.so

* Headdesk *। मेरे अनुभव में, इस तरह की चेतावनी का मतलब है कि आपके बदलाव को हर बार पैकेज मैनेजर द्वारा चलाए जाने और / या बेतरतीब ढंग से मिटा दिया जाता है।

authconfig

तो ... authconfigअगला कदम है। मैं "ऑर्टकनफिग" नाम की सभी फाइलों को देखता हूं। /etc/sysconfig/authconfigउम्मीद तो दिखती है। और, शीर्ष पर कोई चेतावनी मेरे संपादन को नष्ट करने के बारे में कोई चेतावनी नहीं। मैं इस लाइन USEPWQUALITY=yesको ढूंढता हूं और इसे बदल देता हूं । अब मैं चलाता हूं:

# authconfig --test
<snip>
pam_pwquality is enabled (try_first_pass retry=3 authtok_type=)
<snip>

WTF। तो चलिए man authconfigथोड़ा और करीब से पढ़ते हैं। ओह! ऐसा लगता है कि फ़ाइल फ़ाइल फ़ाइल द्वारा पढ़ी नहीं गई है, यह परिवर्तित है । तो .... आप कैसे ऑर्टकॉनफिग कॉन्फ़िगर करते हैं? मैनुअल सुझाव देता है system-config-authentication, जिसे मैं स्थापित करता हूं और pam_pwquality को अक्षम करने के लिए एक चेकबॉक्स जैसा कुछ भी प्रदान नहीं करता है। मैनुअल से अगला सुझाव कमांड लाइन विकल्प है। महान! मुझे कमांड लाइन टूल्स पसंद हैं। केवल, प्रलेखित कमांड लाइन विकल्पों में से कोई भी pam_pwquality को अक्षम नहीं करता है।

pwquality.conf

हारून के उत्तर के लिए धन्यवाद, मुझे पता चला कि कुछ साल पहले फेडोरा ने पासवर्ड गुणवत्ता आवश्यकताओं को कॉन्फ़िगर करने के /etc/security/pwquality.conf लिए जगह बनाने का फैसला किया था । दुर्भाग्य से, फ़ाइल में और के रूप में प्रलेखित man 5 pwquality.conf, वहाँ (1) शब्दकोश जाँच अक्षम करने के लिए एक तरीका नहीं है और (2) छह से नीचे पासवर्ड की लंबाई निर्धारित नहीं कर सकता।


यदि यह आंतरिक है कि क्यों पाम स्थापित या सक्षम भी है?
रामहाउंड

1
@ रामाउंड क्योंकि फेडरा पीएएम से प्रभावित है। yum remove pamनिकालता है, जहाँ तक मुझे लगता है कि इसके सभी पैकेज, सब कुछ स्क्रॉल करने में समय लगता है । जिसमें यम और सिस्टमड शामिल हैं। इसके अलावा, पैम को निष्क्रिय करना एक स्लेजहैमर की तरह लगता है, जब मुझे लगता है कि मैं सिर्फ सैंड पेपर का उपयोग करना चाहता हूं।
djeikyb

जवाबों:


4

में स्रोत कोड पर एक सरसरी नज़र के बाद /usr/sbin/authconfigऔर /usr/share/authconfig/authinfo.py:

  • मैन पेज अधूरा है, स्क्रिप्ट द्वारा स्वीकार किए गए विकल्पों की पूरी सूची में है authconfig --help
  • कमांड-लाइन ( /etc/security/pwquality.confपासवर्ड न्यूनतम लंबाई जैसी सेटिंग्स) पर भी सब कुछ ओवरराइड किया जा सकता है , केवल खुद को छोड़कर । IMHO, यह एक बग है और इसे रिपोर्ट किया जाना चाहिए।
  • authinfo.py2489 और 2156 लाइन से :

    def read(self):
      self.readSysconfig()
      ...
      self.readPAM(ref)
      ...

    पहले readSysconfigपढ़ता है /etc/sysconfig/authconfig; फिर आपने जो वहां डाला है readPAM, वह /etc/pam.d/*(विशेष रूप से password_auth*और system_auth*) में क्या है :

      if module.startswith("pam_cracklib") or module.startswith("pam_pwquality"):
         self.setParam("enablePWQuality", True, ref)

टीएल; डीआर : उन विकल्पों के लिए जो अतिरंजित नहीं हैं (या नहीं हो सकते हैं), सेटिंग्स को वर्तमान कॉन्फ़िगरेशन से लिया जाता है जिसमें फाइलें शामिल हैं जिन्हें ऑटोजेनरेटेड टैग किया गया है । इसे काम करने के लिए, दिखाई गई लाइनों को संपादित /etc/sysconfig/authconfig और हटाएंgrep -E pwq\|crack /etc/pam.d/*


संपादित करें : एक दूसरा बग है, जो ऊपर सलाह देता है फिर भी काम नहीं करता है: पंक्ति 2248:

    # Special handling for pam_pwquality and pam_passwdqc: there can be
    # only one.
    if self.enablePWQuality and self.enablePasswdQC:
            self.setParam("enablePasswdQC", False, ref)
    if not self.enablePWQuality and not self.enablePasswdQC:
            self.setParam("enablePWQuality", True, ref)

आपको गुणवत्ता नियंत्रण के दो कार्यान्वयन में से एक को चुनना होगा, या एक को आपके लिए चुना जाएगा! पहली बग के साथ संयुक्त, यह अक्षम करना असंभव बनाता है।


2 साल बाद फेडोरा 26 अल्फा पर स्थिति समान बनी हुई है
eddygeek

2

आप अपनी system-authफ़ाइल पर मैन्युअल नियंत्रण ले सकते हैं । एक नई फ़ाइल बनाएं (आप कॉपी करके शुरू कर सकते हैं system-auth-ac), और system-authनई फ़ाइल को इंगित करने के लिए सिम्लिंक को बदल दें ।

यह आपके PAM कॉन्फ़िगरेशन के इस हिस्से को अपडेट करने की आपकी ज़िम्मेदारी बनाता है, क्योंकि ऑक्टेंकोफ़िग अब सिम्लिंक या फ़ाइल को इंगित नहीं करेगा। हालाँकि, ऑर्टकनफिग अभी भी system-auth-acफाइल को अपडेट करेगा , इसलिए यदि आप जरूरत पड़ने पर संदर्भ के रूप में उपयोग करना जारी रख सकते हैं। कुछ चतुराई के साथ, आप includeइसे अपनी स्थानीय प्रति में भी शामिल कर सकते हैं , लेकिन यह कैसे करना है यह इस सवाल के दायरे से बाहर है।

आपको अन्य सिम्लिंक के लिए भी जांच करनी चाहिए, जैसे कि password-auth। आपको उन्हें समान उपचार देने की आवश्यकता हो सकती है।


निम्न से authconfig(8)मैनपेज से Files:

/etc/pam.d/system-auth
    Common PAM configuration for system services which include it using
    the include directive. It is created as symlink and not relinked if
    it points to another file.

/etc/pam.d/system-auth-ac
    Contains the actual PAM configuration for system services and is the
    default target of the /etc/pam.d/system-auth symlink. If a local
    configuration of PAM is created (and symlinked from system-auth
    file) this file can be included there. 

इसलिए यदि system-authकोई फाइल है, तो उसे लिंक करने के लिए ऑर्टकनफिग उसे बदल देता है system-auth-ac। लेकिन अगर system-authकोई सिमलिंक है, तो ऑर्टकनफिग उसे अकेला छोड़ देता है।


1

यह के माध्यम से विन्यास करने के लिए लग रहा है /etc/security/pwquality.conf

स्रोत: https://fedoraproject.org/wiki/Features/PasswordQualityChecking


धन्यवाद, मैंने अभी तक ऐसा नहीं देखा था। दुर्भाग्यवश, pwquality.confडिक्शनरी चेक अक्षम करने या पासवर्ड लंबाई जाँच अक्षम करने का समर्थन नहीं करता है।
djikybb

शायद इस पोस्ट में सुझाव काम करेगा? serverfault.com/questions/444258/…
आरोन ओकेनो सेप

यानी सिस्टम-ऑर्टिकल से मॉड्यूल को हटा दें और USEPWQUALITY = no सेट करें और फिर ऑक्टोकोनफिग - अपडेट चलाएं।
एरोन ओकेनो

दुर्भाग्य से (जैसा कि प्रश्न में उल्लेख किया गया है), रनिंग authconfig --updateallफाइलों को रीसेट करता है। मैं उस जवाब पर पूरी तरह से चिंतित हूं, क्योंकि यह सीधे तौर पर मेरे द्वारा देखे जा रहे व्यवहार का खंडन करता है।
djikybb

मुझे भी ध्यान देना चाहिए, बस सेटिंग USEPWQUALITY=noऔर / या USECRACKLIB=noअपनी समस्या को हल नहीं करता है, यहां तक ​​कि ओर्टकॉनफिग चलाने से पहले भी।
djikybb

1

आप अभी भी कमांड लाइन से बदल सकते हैं। आपको एक चेतावनी मिलती है, लेकिन यह आपको एक पासवर्ड सेट करने देता है जो बहुत छोटा है, साथ ही एक ऐसा भी है जो जटिलता नियमों को पूरा नहीं करता है।


यह बिल्कुल फेडोरा 19 के साथ मेरे द्वारा किया गया व्यवहार नहीं है।
djeikyb

@djeikyb passwd <username>कमांड को रूट के रूप में चलाते हैं (या तो रूट टर्मिनल के साथ sudo passwd <username>या बाद में su -
Nick

@ क्लिक करें जो pam की पासवर्ड आवश्यकताओं को अक्षम या संशोधित नहीं करता है।
djikybb

@djeikyb यह आवश्यकता को नहीं बदलता है, लेकिन यह इसे दरकिनार कर देता है। जब आप passwdरूट के रूप में चलाते हैं , तो यह पासवर्ड नीतियों की उपेक्षा करेगा। अगर आपको इसे बस एक बार सेट करने और भूलने की ज़रूरत है, तो यह काम करेगा। यदि आप इसे सेट करने का प्रयास कर रहे हैं, तो प्रत्येक उपयोगकर्ता अपने पासवर्ड को स्वतंत्र रूप से बदल सकता है, तो आपको एक और समाधान की आवश्यकता है।
निक

@ मुझे देखो। हाँ, रूट passwdpam के साथ fd होने के बिना उपयोग कर सकते हैं । वास्तविक प्रश्न के साथ करने के लिए थोड़ा, लेकिन यह इस "उत्तर" में दावे को सच करता है।
djeikyb

0

मुझे यह प्रश्न संबंधित खोज पर आधारित लगा, और मुझे लगता है कि मेरे पास आपके लिए एक उत्तर है।

फेडोरा ऑर्टकोन्फिग जनरेटेड फाइल्स के प्रतीकात्मक लिंक बनाता है। अर्थात। system-authसे जोड़ता है system-auth-ac। यदि आप system-authअपनी फ़ाइल बनाते हैं , तो सैद्धांतिक रूप से भविष्य में किए गए कोई भी परिवर्तन auth-configअभी भी अपडेट होंगे system-auth-acलेकिन अपनी संशोधित फ़ाइलों को अपरिवर्तित छोड़ दें।

यह वास्तव में काफी सुरुचिपूर्ण है, लेकिन मैंने केवल इसे खोजा था जब यह सोचकर कि *-acफाइलों ने क्या किया।


यह काम नहीं करता है। authconfig(जैसे authconfig --updateall) का अगला रन आपकी फ़ाइल को हटा देगा और इसे वापस फ़ाइल में सिमिलिंक कर देगा -ac
docwhat

@DoctorWhat क्या ऐसा है? अब मुझे इससे कोई मतलब नहीं है कि वे ऐसा क्यों करेंगे अगर यह प्रबंधित कॉन्फ़िगरेशन में आसान वापसी के साथ स्थानीय परिवर्तनों की दृढ़ता की अनुमति नहीं देता। ओह अच्छा।
चक्रवात

हाँ, यह मुझे भी भ्रमित करता है ... प्रलेखन इसके बारे में बात नहीं करता है और स्रोत कोड में भी एक लंबी टिप्पणी है कि यह बताते हुए कि वे सभी के लिए सभी चीजें कैसे करने की कोशिश कर रहे हैं ... बहुत कष्टप्रद है।
docwhat
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.