O motivo básico (por que isso é uma péssima idéia) é que nenhum usuário (root, admin ou outro) deve ter acesso à senha de outro usuário.
Simplesmente porque a senha é um meio de autenticação. Se eu souber a senha de outro usuário, conheço suas credenciais (nome de usuário + senha), para que eu possa fazer login como esse usuário , representando-o (ou ela).
Qualquer ação que eu fizer ao fazer login como usuário, o outro usuário será responsável. E não é assim que a autenticação deve funcionar.
As ações podem ser desastrosas, como excluir um monte de arquivos importantes, apagar discos rígidos, apagar backups, encerrar planos de energia nuclear etc.
Ou apenas ilegal. Imagine uma instituição bancária em que eu (o administrador) tenha acesso a todas as senhas. Usando a senha do caixa, posso pedir um milhão de dólares da conta bancária do presidente para a conta bancária do limpador de janelas. Em seguida, use a senha superior do caixa para aprovar a transação. Em seguida, aprove um cheque da conta do limpador de janelas para minha própria conta bancária offshore.
Então eu vou para férias longas nas Bahamas ...
Nessa visão, o hash das senhas e o uso de arquivos de sombra separados podem ser vistos como um meio de impor essa regra (nenhum usuário deve poder se passar por outro).
E como o @ Miral comentou * , há a exceção de su
que, ao permitir a representação (e tipos de argumentos fora do argumento acima), também está mantendo um registro de seu uso (por isso altera as regras para "apenas administradores podem se passar por outros, mas um log é mantido ").
* O exemplo do banco provavelmente não foi o melhor. Em qualquer ambiente em que a segurança seja crucial, geralmente são necessários mais meios de autenticação e autorização do que apenas uma senha.