Pourquoi quelqu'un ne devrait-il pas utiliser des mots de passe dans la ligne de commande?

33

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).

Dor
la source
2
Vous pouvez éviter de consigner certaines commandes dans votre fichier d’historique. Voir les réponses dans Eviter de garder le commandement dans l'histoire
Luc M
5
Yuk! Même si vous définissez votre mot de passe avec export mypass=secretet que vous utilisez a_command --password=$mypass, vous verrez secretdans le pstableau.
Luc M

Réponses:

51

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 -ocmdou via celui-ci /proc. ( /proc/<pid>/cmdline) qui est où les pslit.

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.

rici
la source
17

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:

  • / proc
  • liste de processus ( ps)
  • historique de l'utilisateur

Les commandes utilisateur peuvent également apparaître à ces emplacements:

  • journaux d'audit
  • / var / log / *

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.

slm
la source
3
+1 pour la référence / var / log - notez que les journaux système importants peuvent souvent être envoyés ailleurs et ne restent pas nécessairement sur le même système. Ainsi, vos mots de passe peuvent également être transmis par inadvertance sur le réseau sous forme de texte en clair.
Mark Glossop
11

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

ps -eo pid,user,args
Hauke ​​Laging
la source