Pourquoi les gens ont-ils peur d'écrire des mots de passe dans la ligne de commande?
Le fichier d'historique est situé dans ~/.history
, il n'est donc disponible que pour l'utilisateur qui a exécuté les commandes (et root).
Pourquoi les gens ont-ils peur d'écrire des mots de passe dans la ligne de commande?
Le fichier d'historique est situé dans ~/.history
, il n'est donc disponible que pour l'utilisateur qui a exécuté les commandes (et root).
export mypass=secret
et que vous utiliseza_command --password=$mypass
, vous verrezsecret
dans leps
tableau.Réponses:
Les lignes de commande ne sont pas seulement disponibles dans l'historique. Ils sont également disponibles, par exemple, dans la sortie du système de fichiers
ps -ocmd
ou via celui-ci/proc
. (/proc/<pid>/cmdline
) qui est où lesps
lit.De plus, les répertoires personnels des utilisateurs sont souvent lisibles par le monde ou par un groupe; vous pouvez rendre le fichier d'historique uniquement lisible par l'utilisateur, mais cela risque de ne pas survivre à la suppression et à la recréation.
la source
Les mots de passe sur la ligne de commande ne sont qu'une mauvaise idée. En plus des méthodes discutées dans les autres réponses:
ps
)Les commandes utilisateur peuvent également apparaître à ces emplacements:
En outre, les commandes de l'utilisateur peuvent également apparaître lorsque les utilisateurs se connectent entre les systèmes. C'est donc généralement une mauvaise pratique et doit être évité à tout moment.
la source
Le problème est la visibilité des paramètres (pour les autres utilisateurs dans la plupart des cas, même pour les utilisateurs root) pendant l'exécution de la commande. Voir la sortie de
la source