Solution 1 :
Le premier endroit où PATH est défini est /etc/login.defs . Il y a un paramètre pour root et un paramètre pour tous les autres.
Un autre endroit où vous pouvez définir des variables d'environnement est /etc/environment . Ces paramètres s'appliqueront à tout le monde (vous ne pouvez pas y écrire de code shell arbitraire).
Un troisième endroit où vous pouvez définir des variables d'environnement est /etc/profile . Là, vous pouvez écrire du code shell arbitraire. Si vous souhaitez un paramètre spécifique à l'utilisateur, il existe le fichier par utilisateur correspondant ~www-data/.profile . Mais cela ne s'appliquera qu'aux connexions interactives à la console ; en particulier, cela ne s'appliquera pas aux tâches cron à moins qu'elles ne sourcent explicitement /etc/profile .
Si vous n'avez besoin que de ce PATH paramètre dans une crontab utilisateur, vous pouvez l'écrire au début de la crontab. Notez que vous avez besoin de la liste complète (PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/zend/bin ), vous ne pouvez pas utiliser une substitution de variable (PATH=$PATH:/usr/local/zend/bin ne fonctionnera pas là-bas).
Solution 2 :
Pour définir un chemin pour tous les utilisateurs sauf root, modifiez /etc/profile ou /etc/enviroment . Pour root ou un utilisateur individuel, modifiez leur .bashrc ou .bash_profile dans leurs répertoires personnels, respectivement. Ajoutez le PATH=$PATH:/new/location/ .