La razón básica (de por qué es una mala idea) es que ningún usuario (root, administrador u otro) debería tener acceso a la contraseña de otro usuario.
Simplemente porque la contraseña es un medio de autenticación. Si conozco la contraseña de otro usuario, conozco sus credenciales (nombre de usuario + contraseña), por lo que puedo iniciar sesión como ese usuario , suplantando a él (o ella o él).
Cualquier acción que realice cuando inicie sesión como ese usuario, el otro usuario será responsable. Y no es así como debería funcionar la autenticación.
Las acciones pueden ser desastrosas, como eliminar un montón de archivos importantes, borrar discos duros, borrar copias de seguridad, cerrar planes de energía nuclear, etc.
O simplemente ilegal. Imagine una institución bancaria donde yo (el administrador) tenga acceso a todas las contraseñas. Usando la contraseña del cajero, puedo ordenar un traslado de un millón de dólares de la cuenta bancaria del presidente a la cuenta bancaria del limpiador de ventanas. Luego use la contraseña superior del cajero para aprobar la transacción. Luego, apruebo un cheque de la cuenta del limpiador de ventanas a mi propia cuenta bancaria off-shore.
Luego me voy de vacaciones en las Bahamas ...
En esa vista, el hash de las contraseñas y el uso de archivos shadow separados se pueden ver como un medio para hacer cumplir esta regla (ningún usuario debe ser capaz de hacerse pasar por otro).
Y como comentó @ Miral * , existe la excepción de su
que, si bien permite la suplantación (y los tipos de rechazos del argumento anterior), también mantiene un registro de su uso (por lo que cambia las reglas a "solo los administradores pueden hacerse pasar por otros, pero un se mantiene el registro ").
* El ejemplo del banco probablemente no fue el mejor. En cualquier entorno donde la seguridad es crucial, generalmente se requieren más medios de autenticación y autorización que una sola contraseña.