[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: syntaxe de sudoers



Le vendredi 21 avril 2006 à 12:19, d'après
Daniel C <ml@editionsdidier.com> :

> Par exemple, pourquoi avec
> Defaults:tomcat5 env_delete-="LANG"
> dans sudoers (edité avec visudo), un
> sudo -u tomcat5 myenv.sh
> montre que j'ai toujour LANG dans mon environnement ?

Il y a deux explications :

- D'abord une erreur dans votre configuration, la liste env_delete
  contient les noms des variables d'environnement à supprimer, donc il
  faut _ajouter_ (+=) LANG à cette liste au lieu de l'enlever (-=) :

  Defaults:tomcat5 env_delete+=LANG

- Les versions récentes de sudo dans Debian ont l'option "env_reset"
  activée par défaut, et donc la liste env_delete n'est pas prise en
  compte. De plus, LANG est une variable particulière, qui est laissée
  dans l'environnement malgré le mode env_reset. Extrait du changelog de
  la version 1.6.8p12-2 :

    * env_reset is now set by default
    * env_reset will preserve only HOME, LOGNAME, PATH, SHELL, TERM,
      DISPLAY, XAUTHORITY, XAUTHORIZATION, LANG, LANGUAGE, LC_*, and USER
      (in addition to the SUDO_* variables)

Au final, donc, si vous voulez absolument utiliser env_delete il faut
désactiver env_reset :

    Defaults:tomcat5 !env_reset, env_delete+=LANG

Attention cependant à bien comprendre les implications "sécurité" de la
désactivation de env_reset... je vous engage également à lire le man
sudoers(5) pour plus de détails sur ces options de configuration.

-- 
Thomas Parmelan



Reply to: