Nah the hash function gives up after 256 bytes and outputs *, matching the ‘hash’.
Edit: it’s unix tradition to put * as the hash for system accounts that should never be able to be logged in, this bug now means you can login (with the right config), using any password longer than 256 characters.
But how is that better than just disabling a user’s ability to log in with a password through the normal notation I mentioned? Just not sure why that was used at all. Is it something that some installer or distribution does by default? Why would that be used?
No,
\*is being put as a hash of a password, originally precisely because that would mean no actual hash (over any input) ever matches it.Ah got it, so is that a hack to prevent a specific user from logging in rather than something like:
Match User <username> PasswordAuthentication no
Nah the hash function gives up after 256 bytes and outputs
*, matching the ‘hash’.Edit: it’s unix tradition to put
*as the hash for system accounts that should never be able to be logged in, this bug now means you can login (with the right config), using any password longer than 256 characters.But how is that better than just disabling a user’s ability to log in with a password through the normal notation I mentioned? Just not sure why that was used at all. Is it something that some installer or distribution does by default? Why would that be used?