ฉันจะบังคับให้ผู้ใช้เปลี่ยนรหัสผ่านในการเข้าสู่ระบบครั้งแรกโดยใช้ ssh ได้อย่างไร


28

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

useradd -s /bin/bash -m -d /home/foo foo
passwd foo

การทำchage -d 0 fooเพียงให้ฉันข้อผิดพลาดYour account has expired; please contact your system administratorในการเข้าสู่ระบบ ssh

คำตอบ:


40

เปลี่ยนอายุรหัสผ่านเป็น 0 วัน

วากยสัมพันธ์ chage -d 0 {user-name}

ในกรณีนี้

chage -d0 foo

มันใช้งานได้สำหรับฉันมากกว่า ssh ด้วย


14

ขึ้นอยู่กับรุ่น passwd ที่คุณสามารถลอง

  • passwd -f: บังคับให้ผู้ใช้เปลี่ยนรหัสผ่านในการเข้าสู่ระบบครั้งต่อไปโดยการหมดอายุของรหัสผ่านสำหรับชื่อ

  • passwd -eหรือpasswd --expire: หมดอายุรหัสผ่านของบัญชีทันที ซึ่งจะส่งผลให้ผู้ใช้สามารถเปลี่ยนรหัสผ่านของตนเองได้ในการเข้าสู่ระบบครั้งต่อไปของผู้ใช้


passwd -e เปลี่ยนล็อกอินเชลล์
schily

2
passwd -eใช้งานได้สำหรับฉัน (Linux Mint 17.3)
Joril

passwd -eทำงานใน RHEL 7.0
Crypteya

@schily ตัวเลือกสำหรับpasswdการกระจายแตกต่างกันไป บน RHEL -eบังคับให้เปลี่ยนรหัสผ่านในการเข้าสู่ระบบครั้งต่อไป
jrw32982 รองรับ Monica

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