परिवर्तन tty लॉगिन टाइमआउट - ArchLinux


10

डिफ़ॉल्ट रूप से जब मैं एक tty में अपने आर्क लिनक्स बॉक्स में प्रवेश करता हूं, तो अपना उपयोगकर्ता नाम टाइप करने के बाद एक समय समाप्त होता है, लेकिन इससे पहले कि मैं अपना पासवर्ड टाइप करूं।

तो यह इस तरह से चला जाता है

Login:  mylogin <enter>
Password:
(+ 60 seconds)
Login:

जैसा कि आप देख सकते हैं, अगर मैं पासवर्ड को टाइप नहीं करता, तो वह प्रॉम्प्ट को रीसायकल करता है - मैं चाहता हूं कि यह लॉगिन प्रॉम्प्ट को रीसायकल करने के बजाय मेरे पासवर्ड के लिए अनिश्चित काल तक प्रतीक्षा करे।

क्या यह संभव है?

यह की तरह लगता है --timeoutके लिए विकल्प agettyहोगा कि मैं क्या चाहता हूँ। हालाँकि, मैंने इस ध्वज को गेटी फ़ाइलों में जोड़ने का प्रयास किया /usr/lib/systemd/system/(विकल्प डिफ़ॉल्ट रूप से उपयोग नहीं किया गया है), और रिबूट करना - इसका कोई प्रभाव नहीं था।

जवाबों:


11

agettyloginउपयोगकर्ता नाम में पढ़ने के बाद कॉल , इसलिए पासवर्ड पढ़ते समय किसी भी समय login

इसे बदलने के लिए, /etc/login.defsLOGIN_TIMEOUT मान को बदलें और बदलें।

#
# Max time in seconds for login
#
LOGIN_TIMEOUT       60

2
आप इसे अनंत काल तक कैसे प्राप्त करेंगे?
विल डेरेहैम

3
@AnEpicPerson यह प्रलेखित नहीं है, जहाँ तक मैं देख सकता हूँ, लेकिन वहाँ कोड के माध्यम से देख रहा है #define ALARM 60और timeout = getdef_unum ("LOGIN_TIMEOUT", ALARM); if (timeout > 0) { (void) alarm (timeout); }। इसलिए LOGIN_TIMEOUT 0किसी भी टाइमआउट को निष्क्रिय करने के लिए login.defs में डालना चाहिए।
मार्क प्लॉटनिक

2
  1. आर्क में, प्रोग्राम डिफॉल्ट को स्थापित करते हैं /usr/lib। आपको वहाँ (लगभग कभी) मैन्युअल रूप से गड़बड़ नहीं करना चाहिए; निश्चित रूप से नहीं systemdsystemdएक कारण के लिए डिफ़ॉल्ट इकाइयों का ओवरराइडिंग प्रदान करता है ( "यूनिट लोड पथ" अनुभाग देखें )।

  2. इसका एक हिस्सा सुरक्षा मुद्दा है। टाइमआउट लापरवाही के लिए वापस जाँच करता है (जैसे, आप अपना पूरा पासवर्ड टाइप करते हैं, लेकिन एंटर दबाना भूल जाते हैं और किसी चीज़ से विचलित होते हैं)। आपको पता होना चाहिए कि इसे अक्षम करना यहां सबसे सुरक्षित निर्णय नहीं है।

  3. जब आप एक इकाई को संपादित या ओवरराइड करते हैं, तो आपको systemctl daemon-reloadसिस्टमड को पूरी तरह से बदलाव को पहचानने के लिए चलाने की आवश्यकता होती है । नई इकाई को बनाने के बाद /etc/systemd/, आपको daemon-reloadऔर फिर disableडिफ़ॉल्ट इकाई और enableअपनी नई इकाई को बनाना होगा। फिर, रिबूट करने से आपको मनचाहे परिणाम मिलेंगे। ( नोट : मैं ऐसा करने के खिलाफ सलाह देता हूं; देखें बिंदु 2)


1
अपनी बात के बारे में 2. - ऐसा करने का व्यावहारिक आयात मेरे 4 साल के बच्चे को थ्रेडेड होने से पहले उसके 9-अक्षर वाले पासवर्ड में टाइप करने का प्रबंधन कर सकता है। अपने जवाब को इसकी संपूर्णता में दें, कृपया मुझे अपने प्रश्न का हल देने के लिए इसे अपने दिल में खोजें ।
g33kz0r

मैंने सोचा था कि आप वास्तव में --timeoutविकल्प के साथ सही रास्ते पर थे , लेकिन आगे इसे देखते हुए (अर्थात्, agettyमैन पेज), ऐसा लगता है कि --timeoutविकल्प उपयोगकर्ता नाम दर्ज करने के लिए संदर्भित करता है, पासवर्ड नहीं।
हेलोजोस्ट जूल

@HalosGhost को पोस्ट संपादित करते समय कमांड से पहले '$' लगाने की आवश्यकता नहीं है, यह बेकार है, और जो कटौती और पेस्ट करने में अधिक कठिन बनाता है। केवल तब करते हैं जब कमांड और आउटपुट एक ब्लॉक में रुकते हैं
ज़ेल्डा

1
@Zelda, मुझे वास्तव में यकीन नहीं है कि आपने यहां पोस्ट क्यों किया है। लेकिन, मैं इसे ध्यान में रखूंगा।
HalosGhost
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.