# phpman > man > pam_env(7)

[PAM_ENV(7)](https://www.chedong.com/phpMan.php/man/PAMENV/7/markdown)                                Linux-PAM Manual                                [PAM_ENV(7)](https://www.chedong.com/phpMan.php/man/PAMENV/7/markdown)



## 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)](https://www.chedong.com/phpMan.php/man/syslog/3/markdown).

       **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.

## 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

## SEE ALSO
       **pam**___**[env.conf**(5)](https://www.chedong.com/phpMan.php/man/env.conf/5/markdown), [**pam.d**(5)](https://www.chedong.com/phpMan.php/man/pam.d/5/markdown), [**pam**(8)](https://www.chedong.com/phpMan.php/man/pam/8/markdown), [**environ**(7)](https://www.chedong.com/phpMan.php/man/environ/7/markdown).

## AUTHOR
       pam_env was written by Dave Kinchlea <<kinch@kinch.ark.com>>.



Linux-PAM Manual                             06/08/2020                                   [PAM_ENV(7)](https://www.chedong.com/phpMan.php/man/PAMENV/7/markdown)
