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 | 新的环境字符串 |
示例
- 要显示当前环境变量,请输入:
setsenv - 要添加PSEUDO=tom受保护环境变量,请输入:
本示例为 PSEUDO 受保护环境变量设置一个用户名称。setsenv PSEUDO=tom
文件数
| 项 | 描述 |
|---|---|
| /usr/bin/setsenv | 为 setsenv 命令指定路径。 |
| /etc/environment | 包含每位用户的环境信息。 |
| /etc/security/environ | 包含每位用户的特权环境信息。 |