Pour créer des variables d'environnement persistantes, j'ajoute le fichier de script au répertoire /etc/profile.d, par exemple:
# mon script exportation MY_VAR = valeur_var
Cela fonctionne correctement pour l'utilisateur actuel:
alex @ alex-64: ~ $ echo $ MY_VAR var_value
Maintenant, j'ai besoin des mêmes variables d'environnement pour l'utilisateur root, mais le script /etc/profile.d ne fonctionne pas pour root:
alex @ alex-64: ~ $ echo $ MY_VAR var_value alex @ alex-64: ~ $ sudo su root @ alex-64: / home / alex # echo $ MY_VAR root @ alex-64: / home / alex #
Comment définir les mêmes variables pour la racine?
root
environment-variables
Alex F
la source
la source
sudo
est très liée. (Mais il est pas un doublon parce que cette question est sur la façon de personnaliser root propre environnement.)Réponses:
sudo ne conserve normalement pas les variables d'environnement locales. Vous devez l’utiliser avec le
-E
commutateur pour le faire, c’est-à-diresudo -E su
que vous conserverez $ MYVAR pour root.Sinon, pour créer des variables persistantes véritablement à l'échelle du système, vous devez les définir
/etc/environment
.la source
FOO=bar
Comme pour le processus, vous définissez votre propre variable d'environnement, par exemple en éditant '~ / .bashrc', vous pouvez définir la variable d'environnement de la racine en éditant '/root/.bashrc'.
la source
Defaults env_reset
in/etc/sudoers
réinitialisera la racinePATH
définie par/etc/environment
.Vous pouvez le modifier
Defaults !env_reset
pour désactiver la réinitialisation ou ajouter:la source