Cacher le secret de paramètre de ligne de commande sous Unix

J'ai un script qui se lance à l'intérieur de lui-même une commande avec un paramètre qui est un secret. Par exemple:

#!/bin/bash
command-name secret

Lors de l'exécution de la commande, je peux lire à travers ps -ef | grep command-name qui est le secret.

Est-il un moyen de cacher le secret dans une manière que par ps -ef, le paramètre de ligne de commande est brouillée?

  • La commande accepte le secret argument par le biais d'un fichier d'entrée ou des cours d'eau?
  • Notez que le script lui-même est lisible, de sorte que le secret est visible à toute personne intéressée à le trouver. Pour un utilisateur d'être en mesure d'exécuter un shell script, le script doit être lisible ou vous devez utiliser un programme SUID pour exécuter une copie protégée de l'script, ou d'autres semblables à des contorsions.
  • Voici une bonne réponse: modifier /proc/PID/cmdline à l'aide d'un tour de Scott James Remnant netsplit.com/hiding-arguments-from-ps
InformationsquelleAutor Kerby82 | 2010-09-30