Pour créer des variables d’environnement persistantes, j’ajoute le fichier de script au répertoire /etc/profile.d, par exemple:
# mon script exporter 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 valeur_variable alex @ alex-64: ~ $ Sudo su racine @ alex-64:/home/alex # echo $ MY_VAR racine @ alex-64:/home/alex #
Comment définir les mêmes variables pour la racine?
Sudo ne conserve normalement pas les variables d'environnement locales. Vous devez l’utiliser avec le commutateur -E
pour le faire, c’est-à-dire que Sudo -E su
conservera $ MYVAR pour root.
Sinon, pour créer des variables persistantes véritablement à l'échelle du système, vous devez les définir dans /etc/environment
.
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'.
Defaults env_reset
in /etc/sudoers
réinitialisera le PATH
de la racine défini par /etc/environment
.
Vous pouvez le modifier en Defaults !env_reset
pour désactiver la réinitialisation ou ajouter:
Defaults secure_path="my/custom/path:/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin