La base de données utilisateurs d'un système UNIX est le fichier texte /etc/passwd (appelé le fichier password), qui énumère tous les usernames valides avec les informations qui leur sont associées. Ce fichier possède une ligne par username, divisée en sept champs délimités par le caractère `:' :
Tout utilisateur du système peut lire le fichier password pour, par exemple, connaître le nom d'un autre utilisateur. Ceci signifie que le mot de passe (le second champ) est aussi diponible pour tout le monde. Le fichier password chiffre le mot de passe et donc, en théorie, il n'y a pas de problème. Cependant, le chiffrement est décryptable, surtout si le mot de passe est mal choisi (court ou présent dans un dictionnaire). Il n'est donc pas souhaitable d'avoir le mot de passe dans le fichier password.
Beaucoup de systèmes Linux utilisent les shadow passwords. Il s'agit d'une autre méthode de stockage des mots de passe : ceux-ci sont stockés chiffrés dans un fichier séparé, /etc/shadow, qui ne peut être lu que par root. Le fichier /etc/passwd ne contient qu'un marqueur spécial dans le second champ. Tout programme ayant besoin de vérifier un utilisateur est setuid, et peut donc accéder au fichier shadow password. Les programmes normaux, qui n'utilisent que les autres champs du fichier password, ne peuvent pas accéder au mot de passe8.2.