Ainda bem que as senhas estão criptografadas, não é?
E elas servem exatamente para comparação, para saber se você digitou a senha correta.
A criação da senha do shadow (de forma bastante geral) é um processo interessante. Primeiro o sistema pega sua senha e mais um conjunto de caracteres e criptografa ela colocando no shadow, tanto a senha quanto os caracteres usados.
Ai quando você digita a informação de usuário e senha (no login, por exemplo) o sistema pega o conjunto de caracteres no arquivo /etc/shadow, a senha digitada e criptografa novamente e depois compara. Se forem iguais o acesso é liberado, senão não é.
Assim o sistema não conhece sua senha, e é impossível chegar na senha através dos dados do arquivo /etc/shadow.
Outra coisa interessante é que o uso do conjunto de caracteres (aleatórios) usados em conjunto com a senha para o processo de criptografia traz mais segurança, pois se eles não existissem e dois usuários tivessem a mesma senha os dados criptografados seriam idênticos, o que facilitaria muito descobrir senhas, apenas pela comparação.
Não vou me estender mais sobre o assunto, porque isso dá um tópico enorme.
[]'s
Cristiano