in reply to Salt -- Something I've Never Understood
The salt might seem useless at first to prevent cracking a password if the algorithm (crypt) is known and the salt (two characters, openly available in /etc/passwd) is known and the way the salt and the algorithm are combined is known.
However, it serves a purpose: It complicates the attacker's task to come with a pre-encrypted dictionary (a huge list of common passwords, already encrypted with the crypt), go to the target computer and do quick lookups of the encrypted passwords in /etc/passwd in the dictionary.
It complicates this task by multiplying the number of entries in the pre-crypted dictionary by the number of possible salt values. Or by having the attacker run crypt() based on the actual salt values at attack time.