diff --git a/source/auth/auth_sam.c b/source/auth/auth_sam.c index 80e02c3..57e16d9 100644 --- a/source/auth/auth_sam.c +++ b/source/auth/auth_sam.c @@ -167,8 +167,9 @@ static NTSTATUS sam_account_ok(TALLOC_CTX *mem_ctx, time_t must_change_time = pdb_get_pass_must_change_time(sampass); time_t last_set_time = pdb_get_pass_last_set_time(sampass); - /* check for immediate expiry "must change at next logon" */ - if (last_set_time == 0) { + /* check for immediate expiry "must change at next logon" + * for a user account. */ + if (((acct_ctrl & (ACB_WSTRUST|ACB_SVRTRUST)) == 0) && (last_set_time == 0)) { DEBUG(1,("sam_account_ok: Account for user '%s' password must change!.\n", pdb_get_username(sampass))); return NT_STATUS_PASSWORD_MUST_CHANGE; }