我为少数Linux用户设置了默认密码,现在看来他们从未更改过密码。 1)我如何知道哪些用户使用他们的默认密码? 2)他们的默认密码是什么?
答案 0 :(得分:1)
您可以强制用户在下次登录时更改密码:
chage -d 0 username
/ etc / shadow中的第二个字段是自1970年1月1日以来的天数'从上次更改密码,您可以使用该信息确定他们是否仍在使用默认密码,但您需要知道何时设置了默认密码
答案 1 :(得分:0)
如果您正在查看c struct for shadow,您会看到/etc/shadow
中的第三个字段包含上次密码更改:
sp_lstchg - 1970年1月1日以来的日期密码最后一次更改
struct spwd {
char *sp_namp; /* user login name */
char *sp_pwdp; /* encrypted password */
long int sp_lstchg; /* last password change */
long int sp_min; /* days until change allowed. */
long int sp_max; /* days before change required */
long int sp_warn; /* days warning for expiration */
long int sp_inact; /* days before account inactive */
long int sp_expire; /* date when account expires */
unsigned long int sp_flag; /* reserved for future use */
}
您可以从AWK获得一些帮助,仅显示相关用户:
awk -F: -v before=14871 '$3 <= before' /etc/shadow
将在2010年9月19日之前或之后打印所有上次更改密码的用户
查看更多:man 3 shadow