ฉันกำลังพยายามกำหนดค่านโยบายรหัสผ่านผู้ใช้บน RHEL 6.6 และฉันต้องการให้ระบบขอให้ผู้ใช้ที่เพิ่งสร้างใหม่เปลี่ยนรหัสผ่านเริ่มต้นเมื่อลงชื่อเข้าใช้ครั้งแรก
โปรดทราบว่าฉันพยายามตั้งค่าตัวแปร EXPIRE เป็น 0 และ INACTIVE เป็น -1 ใน / etc / default / useradd แต่มันนำไปสู่การหมดอายุบัญชีผู้ใช้ใหม่หลังจากการสร้าง เอาต์พุตของคำสั่ง chage หลังจากผู้ใช้สร้างด้วยตัวแปรเหล่านี้คือ:
# chage -l foo
Last password change : Feb 22, 2015
Password expires : May 23, 2015
Password inactive : never
Account expires : Feb 22, 2015
Minimum number of days between password change : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
เมื่อฉันพยายามเข้าสู่ระบบภายใต้ผู้ใช้ foo ข้อความ "บัญชีของคุณหมดอายุโปรดติดต่อผู้ดูแลระบบของคุณ" จะปรากฏขึ้น
แต่ถ้าฉันเปิดหน้าต่าง 'คุณสมบัติของผู้ใช้' ให้เลือกแท็บ 'ข้อมูลรหัสผ่าน' และทำเครื่องหมาย 'บังคับเปลี่ยนรหัสผ่านในการเข้าสู่ระบบครั้งต่อไป' ผลลัพธ์จะเป็นสิ่งที่ฉันคาดหวัง ผู้ใช้ใหม่จะถูกขอให้เปลี่ยนรหัสผ่าน ผลลัพธ์ของคำสั่ง chage ในกรณีนี้จะเป็น:
# chage -l foo2
Last password change : password must be changed
Password expires : password must be changed
Password inactive : password must be changed
Account expires : never
Minimum number of days between password change : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
เมื่อฉันเข้าสู่ระบบภายใต้ผู้ใช้ foo2 ระบบขอให้ฉันเปลี่ยนรหัสผ่าน
ดังนั้นมีวิธีการกำหนดค่าระบบเพื่อตั้งค่าพารามิเตอร์บัญชีผู้ใช้ในการสร้างเช่นในกรณีที่สอง?
UPD
cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=0
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
แม้ว่าฉันจะแสดงความคิดเห็นไม่ใช้งานหรือตั้งค่าเป็นค่าบวกบัญชีจะหมดอายุ แต่ไม่ใช่รหัสผ่าน
นอกจากนี้ฉันกำหนดค่า PAM บนเครื่อง
อัปเดต 2
ฉันตรวจสอบสิ่งนี้บนเครื่องด้วย RHEL 6.2 และไม่มีการกำหนดค่า PAM เอฟเฟกต์เหมือนกัน
EXPIRE=0
ใน/etc/default/useradd
ควรทำงาน ฉันอ่านคุณพยายาม คุณสามารถเพิ่มบรรทัดที่ไม่มีเครื่องหมายข้อคิดเห็นได้/etc/default/useradd
หรือไม่ มันถูกล็อคแม้ว่าคุณจะไม่ได้ระบุ INACTIVE = -1 แต่เป็นค่าที่แตกต่างกันหรือหากคุณแสดงความคิดเห็นบรรทัดนั้น คุณสามารถระบุว่าบัญชีถูกล็อคแม้ว่าจะถูกสร้างโดยบรรทัดคำสั่ง และโปรดเมื่อคุณมีคำถามที่แตกต่างกันโพสต์ในหน้าแยกต่างหากถ้ามันจะมีคำตอบที่แตกต่างกัน
adduser
ช่วยให้คุณใส่คำสั่งในchage
/usr/local/sbin/adduser.local
คุณยังสามารถตั้งค่าฟิลด์อายุใน / etc / shadow เป็น 0 ได้โดยตรง useradd
เป็น "ยูทิลิตี้ระดับต่ำ" ที่ตั้งใจจะใช้ร่วมกับคำสั่งอื่น ๆ
chage -d 0 {user-name}
คุณควรลองใช้