Re:globalni promenna z /etc/profile
tapik na buchtovi.cz
tapik na buchtovi.cz
Středa Duben 22 17:44:02 CEST 2009
Problem je v tom, ze pouzivas sudo.
Sudo se snazi byt co nejvice paranoidni a proto se v defaultu chova tak, ze nastavuje "jenom to nejnutnejsi". viz man sudo:
"There are two distinct ways to deal with environment variables. By default, the env_reset sudoers option is enabled. This causes commands to be exe‐
cuted with a minimal environment containing TERM, PATH, HOME, SHELL, LOGNAME, USER and USERNAME in addition to variables from the invoking process per‐
mitted by the env_check and env_keep sudoers options. There is effectively a whitelist for environment variables.
If, however, the env_reset option is disabled in sudoers, any variables not explicitly denied by the env_check and env_delete options are inherited from
the invoking process. In this case, env_check and env_delete behave like a blacklist. Since it is not possible to blacklist all potentially dangerous
environment variables, use of the default env_reset behavior is encouraged."
Takze misto sudo si vyzkousej ssh root na localhost nebo su - a uvidis, zda ti /etc/profile.d funguje
> ------------ Původní zpráva ------------
> Od: rga <rga na centrum.cz>
> Předmět: globalni promenna z /etc/profile
> Datum: 22.4.2009 16:46:45
> ----------------------------------------
> Debian Lenny, *nix amatér, tak mě případně omluvte ;-)
>
> Vím, že "se to prý nemá", ale:
> přidal jsem si po vzoru Red Hatu do /etc/profile
>
> for i in /etc/profile.d/*.sh; do
> if [ -r "$i" ]; then
> . $i
> fi
> done
> unset i
>
> vytvořil /etc/profile.d/ a v něm proxy.sh
> s obsahem:
>
> proxy="http://proxy:8080"
>
> export proxy
> export PROXY=$proxy
> export HTTP_PROXY=$proxy
> export http_proxy=$proxy
> export HTTPS_PROXY=$proxy
> export https_proxy=$proxy
> export FTP_PROXY=$proxy
> export ftp_proxy=$proxy
>
> Přihlásám se, spustím
> env,
> mezi proměnnými je
> HTTP_PROXY=http://proxy:8080
> $ sudo env
> a všechny exportované proměné z proxy.sh chybí.
> Proč? Rád bych chápal, i když bude existovat rozumnější místo,
> kde proměnné nastavit.
>
> Oba uživatelé, jak výchozí, tak root mají jako shell /bin/bash.
>
> Ze serveru nemám direct přístup do Internetu, jen přes proxy,
> potřebuji tedy mít nastavení proxy serveru dostupné
> pro jakýkoliv process/program.
> Díval jsem se i na
> /etc/environment, ale ten podporuje jen
> KEY=VALUE,
> žádné odkazování na jiné proměnné :-(
>
>
> _______________________________________________
> Linux mailing list
> Linux na linux.cz
> http://www.linux.cz/mailman/listinfo/linux
>
>
>
Oto 'tapik' Buchta, tapik na buchtovi.cz
Další informace o konferenci Linux