ข้อผิดพลาดการจัดการโทเค็นการรับรองความถูกต้อง


137

ฉันลืมรหัสผ่าน Ubuntu ของฉันดังนั้นฉันบูตเข้าสู่การกู้คืนและวางลงในพร้อมท์รูทเชลล์และนี่คือสิ่งที่เกิดขึ้น:

root@username-PC:~# passwd username
Enter new UNIX password:
Retype new UNIX password:
passwd: Authentication token manipulation error
passwd: password unchanged

1
อีกวิธีที่เป็นไปได้สามารถพบได้ที่รากสามารถเปลี่ยนรหัสผ่านของผู้ใช้ แต่ผู้ใช้ไม่สามารถตัวเอง
Melebius

คำตอบ:


188

ตรวจสอบให้แน่ใจว่าคุณกำลังเมาท์ระบบอ่าน / เขียน

หลังจากเลือกทันที 'Drop to root shell prompt' ฉันพบว่าระบบไฟล์ติดตั้งแบบอ่านอย่างเดียวซึ่งป้องกันการรีเซ็ตรหัสผ่าน

การเลือกตัวเลือกที่จะต่อเชื่อม/เป็นread/writeและจะกลับเข้ามาในเปลือกพร้อมรากทำงานการเปลี่ยนแปลงรหัสผ่าน

คำสั่งที่จะเรียกใช้ก่อนที่จะเปลี่ยนรหัสผ่านคือ: mount -rw -o remount /


1
แม้หลังจากทำตามขั้นตอนเหล่านี้แล้วจะไม่ยอมรับรหัสผ่านของฉัน
ล่า

2
แปลก mountแสดงให้เห็นว่า/ได้รับการติดตั้งแล้วเป็นอ่าน / เขียน แต่mount -rw -o remount /ยังคงทำงาน ไม่รู้ว่าทำไม
Hubro

ฉันเป็นเพียงหนึ่งในคนงี่เง่าที่ไม่ได้อ่าน stdout และลืมใส่รหัสผ่าน "(ปัจจุบัน) Unix" แต่รหัสผ่านที่ฉันต้องการให้เป็น :(
B.Mr.W.

+1 - ชัดเจน แต่ไม่สันนิษฐาน TY! นอกจากนี้อูบุนตูจะฉลาดที่จะพูดถึงเรื่องนี้เมื่อวางลงในรูทเชลล์เมื่อใช้ตัวเลือก 'กู้คืน' .. พร้อมกับคำเตือนเกี่ยวกับการใช้รูท rw ..
bshea

15

ฉันไม่แน่ใจว่ามันเกิดขึ้นได้อย่างไร ผู้ใช้ sudo สร้างบัญชีของฉันแล้วลบออกจากนั้นสร้างขึ้นอีกครั้ง

นี่คือสิ่งที่ฉันพบ

mount -o remount,rw /
passwd
passwd: Authentication token manipulation error

ไม่มีการเปลี่ยนแปลง.

sudo pwck

แสดงว่าไม่มีข้อผิดพลาด

sudo grpck

แสดงว่าไม่มีข้อผิดพลาด

ls -l /etc/passwd /etc/group /etc/shadow /etc/shadow-
-rw-r--r-- 1 root root    767 May  7 16:45 /etc/group
-rw-r--r-- 1 root root   1380 May  7 16:45 /etc/passwd
-rw-r----- 1 root shadow 1025 May  8 09:11 /etc/shadow
-rw------- 1 root root   1025 May  7 16:46 /etc/shadow-

ดูเป็นปกติ

sudo cat /etc/shadow |grep oracle
oracle:$6$FsPqyplr$DrIvjFDSx0ipHmECMw1AU5hTrbNMnnkGRdFlaQcM.p3Rdu2OLjY20tzUTW61HlFH16cal56rKlLuW4j2mK9D.:15833:0:99999:7:::

แสดงให้ผู้ใช้และรหัสผ่านที่เข้ารหัส

sudo cat /etc/shadow- |grep oracle

ไม่แสดงอะไรเลย ไม่แน่ใจว่ามันหมายถึงอะไร แต่ไม่ถูกต้อง

sudo passwd -d oracle
passwd

ดังนั้นทางออกคือการลบรหัสผ่านแล้วรีเซ็ตรหัสผ่านใหม่

หวังว่านี่จะช่วยได้

ฉันโพสต์ที่นี่เป็นครั้งแรกการรับข้อผิดพลาด "การจัดการโทเค็นการรับรองความถูกต้อง" เมื่อพยายามเปลี่ยนรหัสผ่านผู้ใช้ของฉันแต่ google แสดงผลลัพธ์นี้ก่อนดังนั้นฉันโพสต์อีกครั้ง


1
ใช้ pam-auth-update เพื่อให้แน่ใจว่า Kerberos ไม่ได้ใช้เป็นหนึ่งในตัวเลือกการรับรองความถูกต้องของ pam - ถ้าเป็นเช่นนั้น passwd จะนำไปสู่ข้อผิดพลาดโทเค็นการจัดการโทเค็นการรับรองความถูกต้อง
GOST

5

ฉันได้รับข้อผิดพลาดนี้โดยการเปลี่ยนรหัสผ่านกับอุปกรณ์ที่ไม่ได้ตั้งวันที่ (เช่น. มันเป็นแบบสุ่มหลังจากบูต)

/etc/shadowโดยทั่วไปสิ่งที่เกิดขึ้นก็คือว่าเมื่อฉันเปลี่ยนรหัสผ่านที่ประทับเวลาที่ผิดกฎหมายมีการปรับปรุงเพื่อให้ หลังจากนั้นจะไม่สามารถใช้บัญชีนั้นเพื่อเข้าสู่ระบบหรือเปลี่ยนรหัสผ่าน แม้จะมีบัญชีรูทแล้วก็ไม่สามารถเปลี่ยนรหัสผ่านนั้นได้อีก

ในการแก้ไขบัญชีฉันต้อง:

  1. ตั้งวันที่ที่ถูกต้อง
  2. แก้ไขวันหมดอายุของการเปลี่ยนรหัสลับ / รหัสผ่านล่าสุดเป็น/etc/shadowไฟล์ (ฉันใช้ไฟล์เงาที่ทำงานล่าสุด)
  3. เปลี่ยนรหัสผ่านด้วยสิทธิ์แบบรูทเป็นใหม่

4

ข้อผิดพลาดนี้มาจาก PAM (Pluggable Authentication Module) ซึ่งระบุว่าโมดูลไม่สามารถรับโทเค็นการตรวจสอบความถูกต้องใหม่ (ตรวจสอบauth.logรายละเอียดเพิ่มเติมเกี่ยวกับข้อผิดพลาดนี้)

สิ่งนี้เกี่ยวข้องกับการตั้งค่าการอนุญาตที่พบใน/etc/pam.d/ไดเรกทอรี (เช่นminimum_uidในcommon-authหรือข้อ จำกัด อื่น ๆ ที่จำเป็นต้องมีเครื่องหมาย) ดังนั้นโปรดตรวจสอบอีกครั้งว่าการตั้งค่าในโมดูล PAM นั้นถูกต้อง

ดู: man pam_chauthtok

PAM_AUTHTOK_ERR: โมดูลไม่สามารถรับโทเค็นการตรวจสอบความถูกต้องใหม่ได้


บางครั้งข้อผิดพลาดนี้อาจจะเกิดขึ้นเมื่อมีการเปลี่ยนรหัสผ่านสำหรับผู้ใช้ที่ไม่ได้มีการตั้งค่ารหัสผ่านปัจจุบันและยังpasswdคงถามหามันดังนั้นวิธีแก้ปัญหาคือการบังคับให้เปลี่ยนโดยการเพิ่มเช่น:sudosudo passwd $USER

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