GNU/Linux >> Tutoriels Linux >  >> Linux

Les variables d'environnement sont-elles visibles pour les utilisateurs non privilégiés sous Linux ?

Comme Gilles l'a expliqué dans une réponse très complète à une question similaire sur security.stackexchange.com, les environnements de processus ne sont accessibles qu'à l'utilisateur propriétaire du processus (et root bien sûr).


Les variables d'environnement sont largement sécurisées. Ce que dit la question à laquelle vous êtes lié, c'est que si le système est compromis, le seul avantage de sécurité de l'utilisation de variables d'environnement sur un fichier de configuration est l'obscurité. Cela signifie que si quelqu'un a obtenu un accès root, il peut accéder aux deux.
La question de savoir si l'utilisation de variables d'environnement pour des données secrètes est considérée comme "obscure" est également discutable. C'est une pratique très courante, et donc je ne la considérerais pas comme telle.

Vous ne pouvez accéder aux données stockées dans une variable d'environnement qu'à 2 endroits :

1. L'environnement d'exécution du processus

Lorsque le processus est en cours d'exécution, les variables d'environnement de ce processus sont accessibles via /proc/$PID/environ . Cependant, seul l'utilisateur propriétaire du processus, ou racine, peut accéder à ce fichier.

2. La source des variables d'environnement

Si vous utilisez un script d'initialisation et que les variables sont stockées dans ce script d'initialisation, les variables peuvent bien sûr être obtenues en lisant ce script.

Ou si les variables d'environnement viennent d'ailleurs, alors où que ce soit.

3. sortie 'ps'

Oui, je sais que j'ai dit 2, et dans tout système décent, ce sera 2. Cependant, si l'administrateur ne sait pas ce qu'il fait, il est possible d'ouvrir une 3e voie.

Si le processus est lancé via quelque chose comme sh -c 'cd /foo/bar; POP=tart /my/executable' , alors ce sh le processus sera visible dans ps :

$ sh -c 'cd /; POP=tart sleep 10' &
[1] 3085

$ ps ax | grep POP
phemmer   3085  14   5  0.0  0.0 SN         00:00 sh -c cd /; POP=tart sleep 10

Linux
  1. Comment définir, répertorier et supprimer des variables d'environnement sous Linux

  2. Linux Mint - ajout permanent de variables d'environnement

  3. Définition des variables d'environnement Linux

  4. accessibilité des variables d'environnement sous Linux

  5. Comment lire les variables d'environnement d'un processus

Comment définir des variables d'environnement sous Linux

Comment définir et répertorier les variables d'environnement sous Linux

Comment définir et répertorier les variables d'environnement sous Linux

Comment définir et supprimer des variables d'environnement sous Linux

Guide facile étape par étape des variables d'environnement Linux

Variables d'environnement Linux