Tôi đang cố gắng định cấu hình chính sách mật khẩu người dùng trên RHEL 6.6 và tôi muốn hệ thống yêu cầu người dùng mới tạo thay đổi mật khẩu ban đầu trong lần đăng nhập đầu tiên.
Lưu ý, tôi đã cố gắng đặt biến EXPIRE thành 0 và INACTIVE thành -1 in / etc / default / useradd, nhưng nó dẫn đến hết hạn tài khoản người dùng mới sau khi tạo. Đầu ra của lệnh chage sau khi người dùng tạo với các biến này là:
# 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
Khi tôi cố gắng đăng nhập dưới foo user, thông báo "Tài khoản của bạn đã hết hạn. Vui lòng liên hệ với quản trị viên hệ thống của bạn" được hiển thị.
Nhưng nếu tôi mở cửa sổ 'Thuộc tính người dùng', chọn tab 'Thông tin mật khẩu' và kiểm tra 'Buộc thay đổi mật khẩu trong lần đăng nhập tiếp theo', kết quả sẽ là điều tôi mong đợi. Người dùng mới sẽ được yêu cầu thay đổi mật khẩu. Đầu ra của lệnh chage trong trường hợp này sẽ là:
# 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
Khi tôi đăng nhập dưới người dùng foo2, hệ thống sẽ yêu cầu tôi thay đổi mật khẩu.
Vì vậy, có cách nào để cấu hình hệ thống để đặt tham số tài khoản người dùng khi tạo như trong trường hợp thứ hai không?
Cập nhật
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
Ngay cả khi tôi nhận xét INACTIVE hoặc đặt nó thành giá trị dương, tài khoản đã hết hạn, nhưng không phải là mật khẩu.
Ngoài ra, tôi cấu hình PAM trên máy.
Cập nhật 2
Tôi đã kiểm tra điều này trên máy với RHEL 6.2 và không có cấu hình PAM. Hiệu quả là như nhau.
EXPIRE=0
trong /etc/default/useradd
nên làm công việc. Tôi đọc bạn đã cố gắng. Bạn có thể thêm các dòng /etc/default/useradd
chưa hoàn thành? Nó bị khóa ngay cả khi bạn không chỉ định INACTIVE = -1, nhưng giá trị khác hoặc nếu bạn nhận xét dòng đó? Bạn có thể chỉ định nếu tài khoản bị khóa ngay cả khi được tạo bởi dòng lệnh. Và, xin vui lòng, khi bạn có một câu hỏi khác gửi nó trong một trang riêng nếu nó sẽ có câu trả lời khác nhau.
adduser
cho phép bạn đặt chage
lệnh vào /usr/local/sbin/adduser.local
. Bạn cũng có thể đặt trường tuổi trong / etc / bóng thành 0 trực tiếp. useradd
là "tiện ích cấp thấp", dự định sẽ được sử dụng cùng với các lệnh khác.
chage -d 0 {user-name}
.