6.6. pam_env-设置/取消设置环境变量

pam_env.so [调试] [conffile = * +2+ *] [envfile = * +3+ *] [readenv = * +4+ *] [user_envfile = * +5+ *] [user_readenv = * +6+ *]

6.6.1. DESCRIPTION

pam_env PAM 模块允许(取消)设置环境变量。支持使用先前设置的环境变量以及* PAM_ITEM (例如 PAM_RHOST *)。

默认情况下,用于(取消)设置变量的规则来自配置文件/etc/security/pam_env.conf。可以使用* conffile *选项指定备用文件。

其次,将读取在单独的行上具有简单* KEY = VAL 对的文件(默认为/etc/environment)。使用 envfile 选项,可以指定备用文件。使用 readenv *选项可以完全禁用它。

第三,它将读取用户配置文件(默认为$HOME/.pam_environment)。可以使用* user_envfile 选项更改默认文件,并可以使用 user_readenv *选项打开和关闭默认文件。

由于设置 PAM 环境变量可能会对其他模块产生副作用,因此该模块应该是堆栈中的最后一个模块。

6.6.2. DESCRIPTION

/etc/security/pam_env.conf文件指定由 pam_env(8)设置,取消设置或修改的环境变量。当有人登录时,将读取此文件并根据其设置环境变量。

每行以变量名开头,然后每个变量 DEFAULT 和 OVERRIDE 有两个可能的选项。 DEFAULT 允许 Management 员将变量的值设置为某个默认值,如果未提供任何默认值,则假定为空字符串。 OVERRIDE 选项告诉 pam_env 如果有要使用的值,则应 Importing 其值(覆盖默认值)。不使用 OVERRIDE,假定为“”,并且不会进行任何覆盖。

VARIABLE [ DEFAULT=[value] ] [ OVERRIDE=[value] ]

使用${string}语法可在值中使用(可能不存在)环境变量,使用@{string}语法可在值中使用(可能不存在)PAM_ITEM 和 HOME 和 SHELL。 $和@字符都可以反斜杠转义以用作 Literals 值,可以用“”分隔,不支持转义“。请注意,您要使用的许多环境变量可能在模块安装时尚未设置例如,${HOME}在下面多次使用,但是许多 PAM 应用程序在需要时无法使它可用。特殊变量@{HOME}和@{SHELL}扩展为用户的值,从他的* passwd *条目。

行首的“ #”字符(前面没有空格)可用于将该行标记为 Comments 行。

/etc/environment文件指定要设置的环境变量。该文件必须在单独的行上由简单的* NAME = VALUE *对组成。 pam_env(8)模块将在pam_env.conf文件之后读取该文件。

6.6.3. OPTIONS

6.6.4. 提供的模块类型

提供了authsession模块类型。

6.6.5. 返回值

6.6.6. FILES

6.6.7. EXAMPLES

这些是可能在/etc/security/pam_env.conf中指定的示例行。

为任何远程主机设置 REMOTEHOST 变量,默认为“ localhost”,而不是根本没有设置

REMOTEHOST     DEFAULT=localhost OVERRIDE=@{PAM_RHOST}

如果合理,则设置 DISPLAY 变量

DISPLAY        DEFAULT=${REMOTEHOST}:0.0 OVERRIDE=${DISPLAY}

现在一些简单的变量

PAGER          DEFAULT=less
      MANPAGER       DEFAULT=less
      LESS           DEFAULT="M q e h15 z23 b80"
      NNTPSERVER     DEFAULT=localhost
      PATH           DEFAULT=${HOME}/bin:/usr/local/bin:/bin\
      :/usr/bin:/usr/local/bin/X11:/usr/bin/X11
      XDG_DATA_HOME  @{HOME}/share/

转义变量的愚蠢示例,只是为了展示它们如何工作。

DOLLAR         DEFAULT=\$
      DOLLARDOLLAR   DEFAULT=        OVERRIDE=\$${DOLLAR}
      DOLLARPLUS     DEFAULT=\${REMOTEHOST}${REMOTEHOST}
      ATSIGN         DEFAULT=""      OVERRIDE=\@

6.6.8. AUTHOR

pam_env 由 Dave Kinchlea<kinch@kinch.ark.com>编写。

上一章 首页 下一章