ไม่สามารถปลดล็อกบัญชีผู้ใช้ linux


13

ฉันมีกล่อง Linux (OpenSuSE 11.3) ด้วยบัญชีผู้ใช้ที่ถูกล็อค ฉันลงชื่อเข้าใช้ด้วยบัญชี root เพื่อปลดล็อกด้วย passwd -u <user>แต่ฉันได้รับข้อความ 'Cannot unlock the password for <user>!'

ฉันพยายามเปลี่ยนรหัสผ่านเป็นสิ่งใหม่ผ่าน passwdแต่การพยายามเข้าสู่ระบบด้วยรหัสผ่านใหม่นี้ยังคงให้ข้อผิดพลาด 'บัญชีถูกล็อคเนื่องจากข้อผิดพลาด x พยายามครั้งที่สอง'

passwd -S ให้สถานะสถานะเป็น 'PS' สำหรับบัญชี ฉันไม่รู้จัก 'S' แต่ไม่ว่าในกรณีใดก็ตามจะไม่แสดง 'L' (ล็อก) หรือ 'NP' (ไม่มีรหัสผ่าน) /etc/shadow ไม่มีอักขระแปลก ๆ เช่น ! ที่ด้านหน้าของบรรทัดสำหรับบัญชีนี้ ดูมันในแอพจัดการของ Distro (YaST) นี้เพื่อแสดงว่า ไม่ใช่ ถูกล็อค (ปุ่ม 'ปิดการใช้งานบัญชี' ไม่ได้ถูกเลือก)

ฉันต้องตรวจสอบที่อื่นเพื่อดูว่าทำไมและทำไมบัญชีนี้ปฏิเสธที่จะปลดล็อค / เข้าสู่ระบบ


การกระจายและรุ่นใด
depquid

เครื่องนี้เป็น OpenSuSE 11.3
jam

คำตอบ:


17

ฉันมีปัญหานี้วันนี้ นี่คือการแก้ไข

pam_tally --user = --reset

ตัวอย่าง

pam_tally --user=cyberninja --reset

ฉันหวังว่านี่จะช่วยให้ใครบางคน


ฉันพบโพสต์นี้กำลังมองหาคำตอบสำหรับคำถามที่แน่นอนนี้ ฉันมีข้อผิดพลาดเดียวกัน แต่บนเซิร์ฟเวอร์ SLES 11 SP2 เพื่อนร่วมงานของฉันรีเซ็ตรหัสผ่านและพยายามปลดล็อกบัญชีของฉันด้วยคำสั่ง passwd -u. เพื่อนร่วมงานคนหนึ่งของฉันบอกว่าฉันต้องการบัญชีที่ชัดเจนใน PAM และให้คำสั่งแก่ฉัน ซึ่งฉันได้โพสต์ข้างต้น


ปรับปรุง

ตอนนี้ฉันมีการแก้ไขที่ป้องกันไม่ให้เกิดขึ้นอีกครั้ง ดูเหมือนว่ามีไฟล์ PAM สองไฟล์ที่ซึ่งขัดแย้งกัน ไฟล์เหล่านี้คือ; /etc/pam.d/login และ /etc/pam.d/sshd. ไฟล์ทั้งสองมีบรรทัดนี้

รับรองความถูกต้อง pam_tally.so onerr = ล้มเหลวปฏิเสธ = 3

คุณต้องยอมรับบรรทัดนี้จากหนึ่งในไฟล์ที่แสดงด้านบน เราแสดงความคิดเห็นในบรรทัด /etc/pam.d/sshd ไฟล์.

หลังจากคุณทำเช่นนี้คุณไม่ควรมีปัญหานี้อีก


ยินดีต้อนรับสู่ SU. พยายามอธิบายให้มากขึ้นเกี่ยวกับวิธีที่คุณมีปัญหาและอีกเล็กน้อยเกี่ยวกับคำตอบของคุณถ้าทำได้
Sickest

ตกลงฉันจะอัปเดตโพสต์ของฉัน
Cyberninja

ทำงานในเซิร์ฟเวอร์ RHEL6 ของฉันด้วย อย่างไรก็ตามคำสั่งคือ 'pam_tally2'
SidJ

ตรวจสอบการกำหนดค่า PAM! ใน PAM ของฉันมันใช้ไฟล์ /var/log/failllogแต่ pam_tally2 คำสั่งโดยใช้เริ่มต้น /var/log/tallylogดังนั้นผู้ใช้ที่รายงานจึงไม่ถูกล็อค คุณสามารถใช้ได้ pam_tally2 --file /var/log/faillog.
Marki555

8

ฉันประสบปัญหาเดียวกันในวันนี้ด้วยบัญชีผู้ใช้หนึ่งบัญชีในเซิร์ฟเวอร์ที่ใช้ SUSE Linux Enterprise Server 11 SP2 แม้หลังจากรีเซ็ตรหัสผ่านและเปลี่ยนอายุเป็น 0 (chage -d 0 userID)

[me@mordor ~]$ ssh frodo@mordor

Welcome to SUSE Linux Enterprise Server 11 SP2  (x86_64) - Kernel \r (\l).


Account locked due to 29 failed logins
Password:
Account locked due to 30 failed logins
Password:

ด้วย escenario เดียวกันที่อธิบายโดย @Jam ในโพสต์ดั้งเดิมของเขา ไม่มีสิ่งใดที่แสดงบัญชีที่ถูกล็อคทั้งใน "/ etc / passwd" หรือที่ "/ etc / shadow" คำสั่งเช่น "passwd -S -a | grep frodo" แสดงว่า ID ไม่ถูกล็อค (LK)

me@mordor:~> sudo passwd -S -a | grep frodo
frodo PS 01/01/1970 1 90 7 180

ยัง " pam_tally2 "แสดงว่า ID ไม่ได้ล็อค:

me@mordor:~> sudo /sbin/pam_tally2 --user frodo
Login           Failures Latest failure     From
frodo             0

แต่ปัญหาคือในความเป็นจริงด้วย " pam_tally "

me@mordor:~> sudo /sbin/pam_tally --user frodo
User frodo    (500)   has 32

หลังจากปลดล็อครหัสผ่าน userID ฉันสามารถเข้าสู่ระบบด้วยข้อมูลประจำตัวใหม่และหลีกเลี่ยงข้อความแสดงข้อผิดพลาด

me@mordor:~> sudo /sbin/pam_tally --user frodo --reset
User frodo    (500)   had 32
me@mordor:~> sudo /sbin/pam_tally --user frodo
User frodo    (500)   has 0

หวังว่านี่จะช่วยให้คนอื่นหลีกเลี่ยงการทำลายหัวของเขา / เธอเหมือนที่ฉันทำในชั่วโมงที่ผ่านมาหรือดังนั้น ... เพื่อให้เรื่องสั้นสั้น ๆ ระวังให้ตรวจสอบทั้งสอง " pam_tally "และ" pam_tally2 "เมื่อบัญชีถูกล็อคใน SuSE !!

ความนับถือ, เฮอร์นัน


ขอบคุณมาก :) ความแตกต่างระหว่าง pam_tally และ pam_tally2 คืออะไร?
mwfearnley

ตรวจสอบการกำหนดค่า PAM! ใน PAM ของฉันมันใช้ไฟล์ /var/log/failllogแต่ pam_tally2 คำสั่งโดยใช้เริ่มต้น /var/log/tallylogดังนั้นผู้ใช้ที่รายงานอย่างผิดพลาดจึงไม่ได้ล็อค คุณสามารถใช้ได้ pam_tally2 --file /var/log/faillog.
Marki555

1

ลอง

usermod --expire 9999

เพื่อปิดการใช้งานที่ไม่ใช้งานสำหรับบัญชี (ซึ่งจะกำหนดวันที่หมดอายุเป็น 1/1/9999) passwd -u ใช้งานได้เฉพาะในกรณีที่รหัสผ่านนั้นถูก "ล็อค" แต่ไม่ใช่สำหรับบัญชีที่ปิดใช้


ฉันเห็นดังนั้นจึงมีความแตกต่างระหว่างรหัสผ่านที่ถูกล็อค / ปิดการใช้งานและบัญชีที่ถูกล็อค / ปิดการใช้งาน? ข้อความในการเข้าสู่ระบบล้มเหลวทำให้ฉันเข้าใจผิดแล้ว วิธีนี้จะมีผลต่อวันที่หมดอายุของรหัสผ่านหรือเป็น 'บัญชีหมดอายุ' เป็นสิ่งที่แยกต่างหากหรือไม่
jam

ฉันลองและตอนนี้เมื่อฉันพยายามที่จะเข้าสู่ระบบเพียงแค่บอกว่า 'เข้าสู่ระบบล้มเหลว' แม้ว่าฉันจะได้รับรหัสผ่านที่ถูกต้องแน่นอน (หลังจาก 1 ความล้มเหลวฉันเปลี่ยนมันเป็น 100% แน่นอนนี้) ข้อเสนอแนะใด ๆ S:
jam

สิ่งนี้จะเปลี่ยนการหมดอายุของบัญชีซึ่งแยกจากการหมดอายุของรหัสผ่าน ดังนั้นบัญชีอาจใช้งานหรือหมดอายุรหัสผ่านอาจทำงานล็อคหรือหมดอายุและเป็นไปได้ที่จะหมดอายุบัญชีโดยอัตโนมัติหลังจากรหัสผ่านหมดอายุ อะไรคือผลลัพธ์ของ passwd --status <username> ? มันจะมีประโยชน์ถ้าคุณสามารถเพิ่มคำถามของคุณ
Darth Android

รุ่นของ passwd ใน distro นี้ไม่ยอมรับ --status เป็นตัวเลือก แต่ passwd -S <user> ('แสดงคุณสมบัติรหัสผ่าน') ให้: <user> PS <date> <password expiry options> โดย date คือวันที่ฉันเปลี่ยนรหัสผ่านล่าสุด (เมื่อวาน) และตัวเลือกการหมดอายุของรหัสผ่านคือ min age (0), max age (90) days before expiry to issue warning (7) และ days after expiry with usable login (-1) การตั้งค่าเหล่านี้ใช้งานได้ก่อนทั้งหมดดังนั้นฉันไม่คิดว่าจะเป็นสาเหตุของปัญหา
jam

1

ปัญหาอาจเป็นได้ว่าบัญชีเพิ่งสร้างและยังไม่ได้กำหนดรหัสผ่าน

ถ้าเป็นเช่นนั้น passwd -S <user> จะแสดง LK (สำหรับล็อค) และ passwd -u <user> จะไม่ทำงาน.

คุณเพียงแค่ต้องกำหนดรหัสผ่านให้กับผู้ใช้เพื่อแก้ไขปัญหา



0

ด้วยคำสั่งนี้คุณสามารถสร้างผู้ใช้ที่ปลดล็อคโดยไม่มีรหัสผ่านใด ๆ :

adduser --gecos "Username" --disabled-password "username"

นี่หมายความว่าไม่มีรหัสผ่านแบบสุ่มค้างอยู่ในระบบ

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