J'ai un serveur Debian Lenny et j'aimerais que le www-data
l'utilisateur doit avoir /usr/local/zend/bin
dans son CHEMIN, afin qu'il puisse exécuter un script dans cron en tant que www-data
.
Comment ajouter /usr/local/zend/bin
vers PATH, donc www-data
peut exécuter des fichiers dans /usr/local/zend/bin
?
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 tout le monde.
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 sur console; en particulier, il ne s'appliquera pas aux tâches cron, sauf si elles source explicitement /etc/profile
.
Si vous n'avez besoin que de ce paramètre PATH
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 de substitution de variable (PATH=$PATH:/usr/local/zend/bin
ne fonctionnera pas là-bas).
Pour définir un chemin d'accès 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. Ajouter le PATH=$PATH:/new/location/
.
Pour définir simplement var pour tous les utilisateurs sans surcharger votre profile
, vous pouvez ajouter votre propre petit script dans /etc/profile.d
répertoire comme celui-ci:
echo 'PATH="/usr/local/zend/bin:$PATH"' > /etc/profile.d/zend_path.sh
Puis reconnectez-vous.
nano/etc/profile
Ajoutez ces lignes à la fin du fichier:
export Java_HOME =/opt/jdk-12.0.1
export MAVEN_HOME =/opt/Apache-maven-3.6.1
export M2_HOME =/opt/Apache-maven-3.6.1
exporter M2 =/opt/Apache-maven-3.6.1/bin
export PATH = $ Java_HOME/bin: $ M2: $ PATH
Enregistrez le fichier. Redémarrez ou utilisez la commande ci-dessous:
source/etc/profile
Testez vos paramètres:
echo $ Java_HOME
javac --version