การรับรหัสผ่านหมดอายุ


16

ให้ฉันนำหน้าด้วย: ฉันไม่สามารถเข้าถึงรูทได้

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

มีคำสั่งหรือวิธีรับประทับเวลาเมื่อรหัสผ่านผู้ใช้ของฉันจะหมดอายุหรือไม่?

คำตอบ:


16

คุณควรจะได้รับข้อมูลนั้นจากchageยูทิลิตี้ ไม่ต้องการให้รูททำงานในโหมดรายการ

หมายเหตุ: เป็นไปได้มากที่สุดสำหรับการpasswdตรวจสอบความถูกต้องตามท้องถิ่น ฉันไม่ทราบว่าสามารถทำงานกับโหมดการรับรองความถูกต้องที่ไม่ใส่ข้อมูลเข้าสู่ระบบในไฟล์passwd/ shadowฉันเดาว่าโซลูชันเหล่านี้มีเครื่องมือของตัวเอง แต่ไม่รู้เกี่ยวกับพวกเขา

$ chage -l test                       
Last password change                                : Apr 17, 2012
Password expires                                    : Apr 27, 2012
Password inactive                                   : never
Account expires                                     : May 20, 2012
Minimum number of days between password change      : 0
Maximum number of days between password change      : 10
Number of days of warning before password expires   : 7

ฉันเคยใช้มันด้วย awk อย่างรวดเร็วเพื่อแสดงวันหมดอายุรหัสผ่านของฉันในการเข้าสู่ระบบ


แปลกฉันได้รับข้อผิดพลาด: ผู้ใช้ที่ไม่รู้จัก ฉันยังพยายามwhoami | xargs chage -lทำให้แน่ใจว่าฉันไม่ได้ทำอะไรผิดอย่างชัดเจน
steveo225

whoami ส่งคืนอะไรและgrep $(whoami) /etc/passwordทำอะไร
Mat

สิ่งนี้ดูเหมือนว่าจะใช้งานได้ก็ต่อเมื่อผู้ใช้อยู่ในท้องถิ่น (ไม่ใช่ใน LDAP หรือฐานข้อมูลอื่น)
แพทริค

@ แพทริก: คุณถูกต้องที่สุดและฉันไม่สามารถเข้าถึงเครื่องด้วยการตั้งค่าการตรวจสอบสิทธิ์ประเภทนั้น ดังนั้นจึงไม่สามารถให้ข้อมูลเพิ่มเติมได้
Mat

whoamiส่งคืนชื่อผู้ใช้ที่เหมาะสมของฉัน แต่ฉันเชื่อว่าระบบกำลังใช้ LDAP
steveo225

2

ใน ldap คุณจะทำสิ่งที่ชอบ:

ldapsearch -x -Z  uid=$1 pwdChangedTime | \
          grep -vE '^#|^$' | grep pwdChangedTime | awk '{print $2}'

0

จากchageคุณสามารถทำการเปลี่ยนแปลงได้หลายครั้งและสามารถทราบรายละเอียดการล็อกอินดังนี้ ...

Usage: chage [options] [LOGIN]

Options:
  -d, --lastday LAST_DAY        set date of last password change to LAST_DAY
  -E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -h, --help                    display this help message and exit
  -I, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -l, --list                    show account aging information
  -m, --mindays MIN_DAYS        set minimum number of days before password
                                change to MIN_DAYS
  -M, --maxdays MAX_DAYS        set maximim number of days before password
                                change to MAX_DAYS
  -W, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS

และถ้าคุณมีการเข้าถึงรูทแล้วสามารถเปลี่ยนรหัสผ่านของคุณได้เพียงแค่แก้ไข ..

vim /etc/login.defs

เพียงตั้งค่า vlaues ด้านล่าง ...

PASS_MAX_DAYS 30
PASS_MIN_DAYS 1
PASS_WARN_AGE 7

มันอาจช่วยคุณได้

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