# pam_env

## NAME



           pam_env - PAM module to set/unset environment variables
    


## SYNOPSIS



    
           **pam_env.so**[debug] [conffile=_conf-file_] [envfile=_env-file_]
                      [readenv=_0|1_] [user_envfile=_env-file_]
                      [user_readenv=_0|1_]
    


## DESCRIPTION



           The pam_env PAM module allows the (un)setting of environment
           variables. Supported is the use of previously set environment
           variables as well as _PAM_ITEM_ s such as _PAM_RHOST_.
    
           By default rules for (un)setting of variables are taken from the
           config file /etc/security/pam_env.conf. An alternate file can be
           specified with the _conffile_ option.
    
           Second a file (/etc/environment by default) with simple _KEY=VAL_
           pairs on separate lines will be read. With the _envfile_ option an
           alternate file can be specified. And with the _readenv_ option this
           can be completely disabled.
    
           Third it will read a user configuration file
           ($HOME/.pam_environment by default). The default file can be
           changed with the _user_envfile_ option and it can be turned on and
           off with the _user_readenv_ option.
    
           Since setting of PAM environment variables can have side effects
           to other modules, this module should be the last one on the stack.
    


## OPTIONS



           **conffile=**_/path/to/pam_env.conf_
               Indicate an alternative pam_env.conf style configuration file
               to override the default. This can be useful when different
               services need different environments.
    
           **debug**
               A lot of debug information is printed with syslog(3).
    
           **envfile=**_/path/to/environment_
               Indicate an alternative environment file to override the
               default. The syntax are simple _KEY=VAL_ pairs on separate
               lines. The _export_ instruction can be specified for bash
               compatibility, but will be ignored. This can be useful when
               different services need different environments.
    
           **readenv=**_0|1_
               Turns on or off the reading of the file specified by envfile
               (0 is off, 1 is on). By default this option is on.
    
           **user_envfile=**_filename_
               Indicate an alternative .pam_environment file to override the
               default.The syntax is the same as for
               _/etc/security/pam_env.conf_. The filename is relative to the
               user home directory. This can be useful when different
               services need different environments.
    
           **user_readenv=**_0|1_
               Turns on or off the reading of the user specific environment
               file. 0 is off, 1 is on. By default this option is off as user
               supplied environment variables in the PAM environment could
               affect behavior of subsequent modules in the stack without the
               consent of the system administrator.
    
               Due to problematic security this functionality is deprecated
               since the 1.5.0 version and will be removed completely at some
               point in the future.
    


## MODULE TYPES PROVIDED



           The **auth** and **session** module types are provided.
    


## RETURN VALUES



           PAM_ABORT
               Not all relevant data or options could be gotten.
    
           PAM_BUF_ERR
               Memory buffer error.
    
           PAM_IGNORE
               No pam_env.conf and environment file was found.
    
           PAM_SUCCESS
               Environment variables were set.
    


## FILES



           /etc/security/pam_env.conf
               Default configuration file
    
           /etc/environment
               Default environment file
    
           $HOME/.pam_environment
               User specific environment file
    


* * *