Provided by: manpages-es_1.55-10_all bug

NOMBRE

       environ - Entorno del usuario

SINOPSIS

       extern char **environ;

DESCRIPCI'ON

       La variable environ apunta a un vector de cadenas llamado `el entorno'.
       (Esta variable se debe declarar en el programa de  usuario,  aunque  se
       declara  en el fichero cabecera unistd.h en el caso de que los ficheros
       cabecera procedan de libc4 o libc5 y en el  caso  de  que  procedan  de
       glibc  y  se  haya  definido _GNU_SOURCE.)  Cuando un proceso comienza,
       exec(3) le proporciona este vector de  cadenas.   Por  convenio,  estas
       cadenas son de la forma `nombre=valor'.  Algunos ejemplos comunes son:

       USER   El  nombre  del  usuario que ha entrado en el sistema (usado por
              algunos programas derivados de BSD).

       LOGNAME
              El nombre del usuario que ha entrado en el  sistema  (usado  por
              algunos programas derivados de System-V).

       HOME   El  directorio de entrada del usuario, puesto por login a partir
              del fichero de cuentas passwd(5).

       LANG   El nombre de una localizacion para su empleo como  categoria  de
              localizaciones  cuando  no se suministra la variable de ambiente
              LC_ALL o alguna otra mas especifica.

       PATH   Lista de  nombres  de  directorios  que  sh(1)  y  muchos  otros
              programas emplean cuando buscan un fichero cuyo nombre de camino
              es incompleto.  Los nombres se separaran  por  `:'.   (De  forma
              analoga  tenemos  CDPATH que utilizan algunas shells para buscar
              el argumento de una orden de cambio de  directorio  de  trabajo,
              MANPATH  empleado  por  man(1)  para  buscar paginas del Manual,
              etc.)

       PWD    El directorio de trabajo en curso. Puesto por varias shells.

       SHELL  El nombre del interprete de ordenes usado por el usuario  cuando
              entra en su cuenta.

       TERM   El tipo de terminal para la cual se va a formatear la salida.

       PAGER  La  utilidad  preferida por el usuario para mostrar el contenido
              de ficheros de texto.

       EDITOR/VISUAL
              La utilidad preferida por el usuario  para  editar  ficheros  de
              texto.

       Se  pueden poner otros nombres en el entorno mediante la orden export y
       `nombre=valor' en sh(1), o mediante la orden setenv en csh(1).  Tambien
       se pueden poner argumentos en el entorno cuando se llama a exec(2).  Un
       programa en  C  puede  manipular  su  entorno  mediante  las  funciones
       getenv(), putenv(), setenv() y unsetenv().

       Observe  que  el  comportamiento  de  muchos  programas  y funciones de
       biblioteca se ve influenciado por  la  presencia  o  valor  de  ciertas
       variables de entorno.  Una coleccion al azar:

       Las variables LANG, LANGUAGE, NLSPATH, LOCPATH, LC_ALL, LC_MESSAGES,
        etc., tienen influencia en el manejo de localizaciones.

       TMPDIR tiene influencia sobre el prefijo de nombres de ficheros creados
       por tempnam() y otras rutinas, el  directorio  temporal  utilizado  por
       sort(1) y otros programas, etc.

       LD_LIBRARY_PATH,  LD_PRELOAD  y  otras  variables que comienzan por LD_
       tienen  influencia  sobre  el  comportamiento  del   enlazador/cargador
       dinamico.

       POSIXLY_CORRECT  hace  que  ciertos programas y funciones de biblioteca
       sigan las prescripciones de POSIX.

       El comportamiento de malloc() viene  determinado  por  variables  cuyos
       nombres comienzan por MALLOC_.

       La variable HOSTALIAS da el nombre de un fichero que contiene alias que
       utilizara la funcion gethostbyname().

       TZ y TZDIR proporcionan informacion sobre el huso horario.

       TERMCAP da informacion sobre como manejar una terminal dada  (o  da  el
       nombre de un fichero que contiene esa informacion).

       Etc., etc., etc.

       Claramente  aqui  hay  un riesgo en cuanto a la seguridad. Muchas veces
       una  orden  del  sistema  ha   sido   forzada   a   actuar   de   forma
       malintencionadamente  incorrecta  por  un  usuario  que ha especificado
       valores inusuales para IFS o LD_LIBRARY_PATH.

       Antes de usar una nueva variable, hay que asegurarse de no  emplear  un
       nombre utilizado por el interprete, como: MAIL, PS1, PS2, IFS etc.

V'EASE TAMBI'EN

       login(1),  sh(1), bash(1), csh(1), tcsh(1), zsh(1), execve(2), exec(3),
       getenv(3), putenv(3), setenv(3), unsetenv(3).  system(3).