setsenv 命令

用途

复位用户受保护的状态环境。

语法

setsenv [ - ] NewEnvironment

描述

登录时,setsenv 命令复位受保护的状态环境。 受保护的状态环境定义为一个变量集。 这些变量保留在内核中,只有 SETUINFO 系统调用才能修改它们。 setsenv 命令使用 NewEnvironment 参数指定的变量。 变量由一个空格分隔的 EnvironmentVariable= Value 定义构成。 有关环境变量的信息,请参阅环境文件。

您无法用 setsenv 命令复位以下环境变量:

描述
名称 您最后认证的用户名称。 它与当前进程中实用户标识相符。
TTY 您登录的终端名称。 它与进程的初始控制终端相符。 不使用 full login 初始化的进程,就无法设置这个变量。 完全登录是由 getty 命令初始化的登录。
logname 如果是从终端登录程序启动的话,该名称就是当前会话登录名称。 如果会话不是从终端启动的话,那么不能设置这个变量。

如果您输入的 setsenv 命令不包含任何已定义的变量,那么它会显示出当前受保护的状态。 setsenv 命令不能改变控制终端的安全性特征。

当您运行 setsenv 命令时,它会替换当前的 shell 并给出一个新的 shell。 不管是否成功完成,该命令都会替换您的 shell。 因此,命令不会返回错误代码。

标志

描述
- 重新初始化环境,就象用户刚刚登录到系统那样。 否则,不能更改环境。

安全性

访问控制:此命令应该是一个标准的用户程序。 该命令应该作为一个程序安装在“可信计算库”(TCB)上。 带有 setuid (SUID) 位设置的 root 用户应该拥有此命令。

访问的文件:

方式 文件
R /etc/environment
R /etc/security/environ

审计事件:

事件 信息
USER_SetEnv 新的环境字符串

示例

  1. 要显示当前环境变量,请输入:
    setsenv
  2. 要添加PSEUDO=tom受保护环境变量,请输入:
    setsenv PSEUDO=tom 
    本示例为 PSEUDO 受保护环境变量设置一个用户名称。

文件数

描述
/usr/bin/setsenv setsenv 命令指定路径。
/etc/environment 包含每位用户的环境信息。
/etc/security/environ 包含每位用户的特权环境信息。