Muchos programas de correo electrónico como isync
y msmtp
ofrecen la posibilidad de especificar un comando que, una vez ejecutado, imprime la contraseña del usuario en stdout
. Por ejemplo, en OSX podemos almacenar la contraseña en un llavero y luego llamar al siguiente comando:
security find-internet-password -w -a [email protected] -s imap.email.com <keychain-file>
Ahora, si permitimos que el archivo security
acceda a esta entrada del llavero sin pedir permiso (porque de lo contrario es bastante molesto), básicamente le hemos dado permiso a cualquiera para ejecutar este comando y quien ejecute este comando podrá leer la contraseña . Tan ingenuamente, parece que el almacenamiento de una contraseña en un llavero no es tan sabio en comparación con el almacenamiento en un archivo de texto simple.
¿Me estoy perdiendo algo? También intenté establecer el permiso del $(which security)
binary en 700
pero luego el programa de correo electrónico no puede ejecutar el programa security
, por lo que simplemente no es posible cambiar el permiso del security
binario.