เปลี่ยนการหมดเวลาของ tty login - ArchLinux


10

โดยค่าเริ่มต้นเมื่อฉันเข้าสู่กล่อง Arch Linux ของฉันใน tty มีการหมดเวลาหลังจากที่ฉันพิมพ์ชื่อผู้ใช้ของฉัน แต่ก่อนที่ฉันจะพิมพ์รหัสผ่านของฉัน

มันจะเป็นแบบนี้

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

อย่างที่คุณเห็นถ้าฉันไม่พิมพ์รหัสผ่านมันจะรีไซเคิลพรอมต์ - ฉันต้องการให้รออย่างไม่มีกำหนดสำหรับรหัสผ่านของฉันแทนที่จะรีไซเคิลพรอมต์การเข้าสู่ระบบ

เป็นไปได้ไหม

ดูเหมือนว่า--timeoutตัวเลือกagettyจะเป็นสิ่งที่ฉันต้องการ อย่างไรก็ตามฉันพยายามเพิ่มการตั้งค่าสถานะนี้ในไฟล์ getty ใน/usr/lib/systemd/system/(ตัวเลือกไม่ได้ใช้เป็นค่าเริ่มต้น) และการรีบูต - ดูเหมือนว่าจะไม่มีผล

คำตอบ:


11

agettyสายloginหลังจากที่ได้อ่านในชื่อผู้ใช้จึงหมดเวลาใด ๆ loginเมื่ออ่านรหัสผ่านจะกระทำโดย

หากต้องการเปลี่ยนแปลงให้แก้ไข/etc/login.defsและเปลี่ยนแปลงค่า LOGIN_TIMEOUT

#
# Max time in seconds for login
#
LOGIN_TIMEOUT       60

2
คุณจะนำมันไปใช้อย่างไม่สิ้นสุดได้อย่างไร?
Will Dereham

3
@AnEpicPerson มันไม่ได้เป็นเอกสารเท่าที่ผมสามารถเห็น แต่มองผ่านรหัสมีและ#define ALARM 60 timeout = getdef_unum ("LOGIN_TIMEOUT", ALARM); if (timeout > 0) { (void) alarm (timeout); }ดังนั้นการใส่LOGIN_TIMEOUT 0login.defs ควรปิดการใช้งานหมดเวลา
Mark Plotnick

2
  1. /usr/libในซุ้มโปรแกรมติดตั้งค่าเริ่มต้น คุณไม่ควรเข้าไปยุ่งเกี่ยวกับสิ่งนั้นด้วยตนเอง (เกือบจะตลอดไป); systemdแน่นอนไม่ได้กับ systemdจัดเตรียมการแทนที่ของหน่วยเริ่มต้นด้วยเหตุผล (ดูส่วน"เส้นทางโหลดหน่วย" )

  2. ส่วนหนึ่งเป็นปัญหาด้านความปลอดภัย การหมดเวลาจะตรวจสอบอีกครั้งสำหรับความประมาทเลินเล่อ (เช่นคุณพิมพ์รหัสผ่านทั้งหมดของคุณ แต่อย่าลืมกด Enter คุณควรทราบว่าการปิดใช้งานไม่ใช่การตัดสินใจที่ปลอดภัยที่สุดที่นี่

  3. เมื่อคุณแก้ไขหรือลบล้างยูนิตคุณต้องรันsystemctl daemon-reloadเพื่อให้ systemd จดจำการเปลี่ยนแปลงได้อย่างสมบูรณ์ หลังจากสร้างหน่วยใหม่/etc/systemd/แล้วคุณต้องdaemon-reloadและdisableหน่วยเริ่มต้นและenableหน่วยใหม่ของคุณ จากนั้นการรีบูตเครื่องควรให้ผลลัพธ์ที่คุณต้องการ ( หมายเหตุ : ฉันแนะนำไม่ให้ทำเช่นนั้นดูจุดที่ 2)


1
เกี่ยวกับประเด็นที่ 2 ของคุณ - การนำเข้าที่เป็นประโยชน์ในการทำเช่นนี้คืออายุ 4 ขวบของฉันสามารถจัดการพิมพ์รหัสผ่าน 9 ตัวอักษรของเธอก่อนที่จะถูกขัดขวาง ตอบคำถามของคุณอย่างครบถ้วนโปรดหาคำตอบของคุณเพื่อให้คำตอบกับคำถามของฉัน
g33kz0r

ฉันคิดว่าคุณอยู่ในเส้นทางที่ถูกต้องพร้อมกับ--timeoutตัวเลือก แต่เมื่อดูเพิ่มเติม (กล่าวคือagettyหน้าคน) ดูเหมือนว่า--timeoutตัวเลือกนั้นหมายถึงการป้อนชื่อผู้ใช้ไม่ใช่รหัสผ่าน
HalosGhost

@HalosGhost ไม่จำเป็นต้องใส่ '$' ก่อนคำสั่งเมื่อแก้ไขโพสต์มันสิ้นเปลืองและทำให้การตัดและวางทำได้ยากขึ้น ทำเมื่อคำสั่งและเอาท์พุทถูกผสมในหนึ่งบล็อก
Zelda

1
@Zelda ฉันไม่แน่ใจว่าทำไมคุณโพสต์ที่นี่ แต่ฉันจะจำไว้
HalosGhost
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.